If two copies of a wallet exist and one of them does a transaction, then that one becomes the wallet and invalidates the other.
I'm pretty sure this isn't the case...?
AFAIK, you wallet just holds the private keys to access a particular address on the blockchain.
That is not true.
If you have two copies of the wallet and one performs a transaction then as long as there are sufficient keys in the keypool the other (backup) copy can be brought up to date by simply connecting it to the network.
Oh, now I see how wrong I was. I have to stop posting just before lunch.