Try shutting down all programs running in the background, including Internet security type programs, such as anti-virus, anti-spyware, and even your third-party firewall. Don't forget to check those running in Windows System Tray. Yes, I know this game requires Internet access and that you would be defenseless but the idea is to isolate the possible cause, and then try to find a solution.
Another more drastic suggestion would be to do a reformat and reinstall of Windows to rule out a possible conflict between leftover drivers, or the demo version having a conflict with the full version, or even another application having issues with the game or the copy-protection (i.e., daemon). Backup all your personal data, download all the latest drivers, reformat and reinstall Windows XP, install SP2, all the motherboard drivers, the latest video & audio drivers and then only install BF2 without the patch. Now test BF2.