I've had to repurchase BF2 and download/reinstall.  I did this because of a scratched disk 1 and new OS. 

Here's what PB said:

02/22/2008 14:08:01 - "Adam Dunahoe" 
Note #4: Hi,

This kick has been added by the serveradmin to check the integrity of certain files on the client. These checks are not default and have to be manually added by the server-admin.

When you are kicked for a MD5Tool Mismatch you will always see the file in question.

Example:
MD5Tool Mismatch: etpro/cgame_mp_x86.dll

Basically there are two different causes when you are kicked for a MD5 violation:

* The file DOES exist on your pc, while the server expected you would NOT have it

* The file does exist on your pc, while the server expected a different version (different MD5 hash).

When you are kicked for such a violation, check if you have this file or not. When it's not part of the default installation of the game, deleting this file might be needed. When you do have this file, make sure you have the original and latest official version of this file. Reinstalling of either the latest game patch(es) or the game might be needed. 
02/21/2008 21:29:58 - "Brinson" 
Note #3: PUNKBUSTER ERROR

You have been disconnected by Punkbuster. The reason follows in
English below.

PUNKBUSTER ERROR MESSAGE
PunkBuster Kicked player "DBBrinson1" (for 2 minutes)...
MD5Tool Mismatch: BF2.exe (len=2048)

---------------------

So....  What gives?  How is there a later version of bf2.exe?  What am I missing here?  thanks all
I stood in line for four hours. They better give me a Wal-Mart gift card, or something.  - Rodney Booker, Job Fair attendee.