The motivation here is that if a wallet is encrypted, old versions should simply fail to load the wallet. Additionally, if a wallet gets corrupted, the client should always fail to load the wallet to give the user a chance for manual recovery.
This needs to go into 0.3.24, so that users who downgrade don't mess up their wallet by adding unencrypted keys to an encrypted wallet, making all versions unable to use the wallet.