Lag is normally one of four things.
It sounds like you are getting video slow down rather than the other options, so I will focus on that, but try them out to be sure.
1.
Your graphics card [GPU] cannot handle all the work being thrown at it.
Test this with the console command renderer.drawFps 1
If the number in the top left corner in below 30 then you are getting GPU slow down \ lag.
Try opening the Nvidia control panel and getting the temp the GPU is running at window open, then at random points during BF2 play [when you are dead works well!] switch back to the desktop and see how hot it is. If it is running within 20 degree of the max temp the fan may be going [it is 18 months old].
Try different drivers. In general the latest drivers are the best, but not always. I have not heard any bad news about the latest Nvidia drivers so give them a try
http://www.nvidia.com/object/winxp_2k_91.31.html2.
Your ping is too high. If your ping is consistently above 150 then you get lag caused by your game not being in sync with the server. If you are getting high ping then try stopping other internet based applications [P2P and file sharing are very bad for BF2], or play on a server geographically closer to you.
This should be a general, and more random type of lag.
3.
Not enough of your memory is RAM, and too much is pagefile.
BF2 loads around 1.5Gb of data into memory, this is the map, the player, vehicles, guns and every other object it could require. The more of this data that is in RAM the better.
If there is any data in pagefile then you could experience slow down \ lag as BF2 has to get data from the slow hard disk.
If you have less than 2Gb of RAM [remember XP needs some too] get up to 2Gb as soon as you can afford to.
4.
Your CPU is maxing out.
Start task manager, then when you have a free second ALT + TAB to take a look at it.
If it is running at 100% then you could get slow down \ lag when the BF2 engine needs to calculate more, this could include zooming in.
Close any programs that you don't need.
If you are getting this then try upgrading your CPU as soon as you can afford to.
I hope this info helps.
DrM