Early last month, while trying to understand keys, wallets, security, and backup, I believe I inadvertently attempted to double spend. The client is not handling it gracefully (the UI displays two semi-duplicate transactions neither of which occurred and a zero balance even after thousands of blocks). While I am not entirely sure about the order of events, I believe the following steps might be correct:
I created a wallet (A), received coins, sent coins, closed client.
I copied wallet, rescanned with new copy (B), and sent the same coins to different addresses.
Now, when I open wallet A, I see a transaction sent to <blank> address with almost 7000 confirmations. In the new client I ALSO have a similar transaction sent to an address not known to the blockexplorer with the exact same June timestamp but with 0/unconfirmed.
While I would like to think the coins are still available to me, I believe they were actually sent (from the copied B wallet). I'll be happy to disclose the addresses in question to client developers (PM me) in order to improve the client transactional log.
But aside from this odd behavior, it highlights the need for more address transparency. I can not see to what address the transaction is sending (abnormal), nor can I see from which address the coins are coming (normal). In this case, I can guess at the sending addresses because I've received with a limited number of addresses. I do not know what addresses are 'hidden' in my wallet, and therefore do not know whether wallet A is a pure subset of B and can thus be deleted.
My personal feeling on the UX matter is to think of and display addresses as accounts and a wallet as a portfolio. I think the wallet metaphor creates confusion.