Been plagued by the dreaded "PB INIT FAILURE" error and are consequently unable to play Battlefield: Bad Company 2 on multiplayer? I stumbled across a solution whilst browsing the game folders. It has worked for me (so far) and so it may work for you to.
Please note that I have the retail version of Battlefield Bad Company 2. Not sure if this works on the Steam version.
Anyway, fix is quite simple. Since I thought the manual PunkBuster updater was not doing it's job I decided to hunt for the pb folder under the BFBC2 game folder. Sure enough I found the "htm" folder (it was under: C:\Program Files\Electronic Arts\Battlefield Bad Company 2\pb\htm on my computer).
The files on my computer were a few days old when I checked the "Last Modified" date but that's not the only thing I noticed. I'm sure I saw the names of these files somewhere before.
I visited the PunkBuster webpage and sure enough these files were available for download individually. So I grabbed the files wc002158.htm and wa001382.htm, and copied them into the folder mentioned before (i.e. C:\Program Files\Electronic Arts\Battlefield Bad Company 2\pb\htm).
Once that was done, I booted up BFBC2 and presto! I was able to play without the error coming up.
As mentioned before, fingers crossed I haven't just jinxed myself by proclaiming I've found the solution! Hope it helps!
EDIT: Nope, false alarm, seems like the problem reared its ugly head again! *sigh* back to the drawing board!