Happens to me too, mostly when a round has ended and it gets to the load screen and unless I click on join game straight away it will back out and display the error, I have updated punkbuster, so maybe that will solve it.
EDIT: Played a few rounds and it seems to be working fine, I think the key is, if the error flares up again it may be because a punk buster file gets corrupt over time, so try running
PBsetup again and see if that works.
pbsetup is a *.zip file, what works for me is to extract the file to the pb folder on the C drive where 2142 is installed and run pbsetup from there.
EDIT2: Nope, it's back!
__________________
BF2 nickname is |TG|MstrMojayy
BF2142 nickname is |TG|MrMojay
Rockin the Boogie! 
"All I know is first you got to get mad! You've got to say! "I'm mad as hell and I'm not going to take this any more. I'm a human being, god dammit! My life
has value." So I want you to get up now. I want you to get out of your chairs and go to the window. Right now! I want you to go to the window, open it, and stick your head out and yell. I want you to yell:"I'm mad as hell and I'm not
going to take this any more!"
Peter finch in "Network" 1976