Firstly, it's more like doing the backup every 100
actions.
No matter whether you receive funds, send funds, or generate new receiving addresses, each of those actions uses
(1) one of the pre-generated keys.
Secondly, you can run bitcoin-qt with the parameter -keypool=<n> to tweak the pool of pre-generated keys. Sane values are <1000.
c:\Program Files (x86)\Bitcoin\bitcoin-qt.exe -keypool=256
Notes:
(1) Actually, receiving funds only uses a key from the key-pool if the funds are sent to the address currently listed as "my address". Receiving bitcoins with any other previously-generated address does not influence the key-pool. Therefore, you will generally be safer than you think you are as far as using very old wallet backups is concerned.