It possibly could be a utilisation issue on the network but I doubt it
Do you ping directly to the server or try other pings such as sites etc
If not try it if the pings to say
http://www.google.com are ok then do a tracert
to the server and see what hop it fails/goes high on.
Also checking for spyware is a good idea but not foolproof. There are a lot of reasons your networking settings can change P2P for example.
Also be aware that as far as I know BF2 measures ping on UDP packets
not TCP so again if your ping in windows goes ok to the server it could be your game installation causing you grief.