The reason multi-wallet hacks like this are so easy is because we (in particular, sipa and Matt) have been working toward proper support for multiple wallets for some time now. With Satoshi's original code, it would have been very difficult - these are some big changes to refactor the code. 0.6 contained sipa's changes to abstract the CWallet class, and 0.7 or 0.8 will probably include Matt's abstraction layer for the blockchain. When all these bigger refactoring are complete, there will probably be a small change to tie it all together in a user-friendly way - until then, end users won't notice the bigger under-the-hood stuff that's been going on