I didn't make it!
If your having a persistent Battlefield 2 Punkbuster problem, give this a try. Its very easy to do, and has worked for everyone I suggested it to.
Go to x:\EA Games\Battlefield 2\PB (Where X is your drive letter) - Delete OR Move all files in this directory to a safe place. Drag them to your desktop and keep them there until you find out if this solution works or not. If it does work, delete them. If not, put them back. - Run PBsetup.exe (Get it here> PunkBuster Online Countermeasures) - Add BF2 as a game in PBsetup, then update it - Run BF2 and see if you can play online without any problems