Are you running on wireless network? On regular occasion try to alt-tab back to windows to check the wireless signal. When BF2 disconnects, check to see if the wireless signal was trying to reconnect to your router. BF2 may be stressing the signal or makes it much more sensitive due to perhaps the memory requirements of the game, which is pretty huge. On medium settings, BF2 uses up around 750+ megs.
Try running the router in DMZ+ mode, all firewalls off, ports open, virus-scanning off, latest drivers for everything, defrag, ad-scan, etc, etc.
You can also try lowering the bandwidth usage in BF2. Sometimes if you're downloading large files at max speed, the modem may start to act funny, even to the point where everything stops transferring from the modem. At that point, try a restart of the modem to get it going again.
It may just be as simple as a server problem, but since it's pretty consistent on your end and no one else's it may not be just that.