Out of curiosity why isn't there a mechanism to write two wallet.dats atomically (both have to succeed), one to the [%APPDATA%|$user]\bitcoin directory, and another to a usb key or alternate drive?
or even to -dumpwallet after each transaction on the client?
or even to -dumpwallet after each transaction on the client?
Because we don't have infinite programming resources, and we've been busy working on low-level stuff that will lead to solutions that will fix the "my hard drive crashed" and also the "my computer got infected by malware" and "my house burned down along with my computer and all of my USB thumbdrives" disaster scenarios.