If you create a new wallet.dat, encrypt it, back it up, getnewaddress and send funds to it, does the back up of the wallet.dat also have the new address? Does getnewaddress actually create a new address or just assign one? Is that what the keypool size is?
If you generated new address in a wallet, the backup of the wallet will not contain the new address unless it was backed up after the new address was generated.
There should probably be a warning after you generate a new addy that you should also save a new backup. And after you import a privkey.