Like I said above, make sure "PnkBstrA.exe" is allowed on the net by your fire wall. Open it up for "Access" and "Server" and both "trusted" and "Internet" (if you have those options in your firewall).
"if" you want to test that it is your firewall, just turn of the fire wall and try to join a PB BF2 server. Don't worry, it is highly unlikely you will get some type of attack on your system for the few minute test.
Don't forget to check your router if using one, it also has to let PB out to the net.
Pink, no packetflow means your punkbuster is too new. The servers done have the new punkbuster update so you need to re install BF2.
Sorry I can't believe that, all servers should auto update and be updated "faster" then the client computer. And telling someone to reinstall BF2 because of PB problems is not the correct path for someone to take.