When you purchase the booster, you're asked for 2 names:
- EA username: You use this to login to the EA Downloader software
- GameSpy ID: You use this when you login to BF2 - it's the name that you have in-game.
If you put in the wrong GameSpy ID, then the game doesn't realise you've purchased the booster pack, so it doesn't let you play it. It sounds like this is what happened.
Take a look at
this article - hopefully that solves your problem.