That is already the way it is except you have to transfer bitcoins and cash before you sell, not afterward. Afterward won't work very well because either party can always change their mind.
I was thinking a per-user wallet where the user kept the private keys rather than the exchange. It would be less convenient but if the exchange went out of business at least the user would still have their wallet.
When trading BTC the exchange would have to supply the escrow wallet between the two users doing the transaction.
Again, that is no different than the way it currently works. "per-user wallet" = your wallet, wherever it exists. "escrow wallet" = exchange wallet.
I don't have the keys to a mt.gox or btc-e wallet with my funds in it, nor is there a user-specific wallet out there holding said funds.
Its called use your own damned wallet (Bittorrent has many such apps) unless actively trading at the time. Anything sitting on an exchange could evaporate tomorrow. If you haven’t worked that out yet......
No it isn't. A bitcoin wallet is a very specific thing. Mt.gox didn't allow users to maintain their own wallets. Blockchain.info does.