Random or frequent Punkbuster problems, issues, errors and kicks can be caused by a variety of things. The majority of these Punkbuster problems can be fixed by doing the following:
Go to
PunkBuster Online and download the latest
pbsetup.exe
Put that file in your Battlefield 2\pb folder.
Run pbsetup.exe and that will update you to the latest Punkbuster version.
After that, Run
BF2 and try to connect. It may still Kick you because you have a newer version than the server you are playing on. If that happens hit ~ and drop the console down. Type pb_security 0 you should now be able to stay in game.
Something also to remember is when playing games on Vista, always play as the administrator.
GAME ON!