Why does Punkbuster kick me when I join BF3 servers?
(This assumes you have installed Punkbuster, and added Battlefield 3 to its games list.)
Download PBSVC and run it. If it claims everything is okay ( = green), try running BF3 again.
If BF3 still fails to communicate with "Punkbuster Service A", then, run PBSetup.exe and check whether you have the right path to your BF3.
PBSetup creates a subfolder for the games it registers, and remembers this subfolder's path.
If you have, for any reason, relocated the BF3 install, the service won't be able to validate the game, and fail to communicate.
As Steve himself pointed out, it might also be the Windows Firewall blocking the Service.
Try updating your punkbuster specifically for BF3.
Follow the steps outlined here: http://evenbalance.com/index.php?page=pbsetup.php