Talking about the reference qt client in Linux (I'm using the rpm from
http://linux.ringingliberty.com/bitcoin/ ).
My understanding - just by launching the application for the first time, 100 reserve key pairs are created.
Every time I ask for a new public key, one from the reserve is used and new one is created to add to the reserve pool.
So if I backup my wallet, what gets backed up is all private keys including those I haven't used yet in the pool.
Thus on a virgin wallet, if I create a backup, receive 90 payments to 90 addresses, hard drives fries before making another backup, I can use my backup in new wallet - it will find the coins I have from the blockchain.
But if I receive 110 payments to 110 addresses, some of those address private keys are not in that backup so those coins are lost forever.
Hence one should backup often enough that they are not receiving coins to a key not in pool at last backup, but backup doesn't need to be done daily unless you receive a lot of payments in a day.
Is that understanding correct?