Bitcoin pre-generates addresses for your next 100 transactions (Either new addresses as you describe, or automatically generated ones for the "change" when you spend), and stores them in the "key pool". As long as you back up your wallet before you use them up, you're safe. You can also set it to use a larger key pool if you go through a lot of addresses and can't back up frequently enough.
More info here: https://en.bitcoin.it/wiki/Securing_your_wallet
cool, thanks. I knew it pre-generated addresses but I didn't know that manually creating one also comes from the same pre-generated key-pool (I Thought the key-pool was just for 'change' transactions), that’s what I was worried about.