My preference is something along the lines of this:
https://bitsharestalk.org/index.php?topic=5504I would actually go further than my original conservative proposal. I would say for any funds transferred out of your account you have up to a week to permanently freeze the funds.
People need to understand the concept of "seasoned" funds. It is critical that you cannot participate in any internal BitShares market (such as buying and selling BitUSD) unless your funds have been seasoned for one week. You must have kept the balance without moving it for one week before you can use it to participate in the market to buy/sell assets.
There is really no reason for anyone to permanently freeze funds that left their account unless it is a legit fraudulent transaction. Also people can protect themselves by demanding seasoned funds when doing business with people they don't know well or for large sums of money.
As far as what to do with "permanently" frozen funds... I think this is really a secondary issue and can be addressed in many ways that take advantage of community consensus.
The most important thing is to give people the power to freeze fraudulent funds. DO NOT let people participate in the internal marketplace without seasoned funds. And educate exchanges on the concept of seasoned funds. This will be a BIG deterrent to hackers and fraudsters.