Ya replace your AGP card, a plain PCI card is not worth the trouble.
I also agree a 6800GT AGP would serve you well. Unless they make 7800GTs in AGP, as far as I know they dont, but i could be wrong.
Or you could look at upgrading to a PCI-E mobo, it would be more future proof atleast, as AGP cards are getting phased out and there not making the high-end cards on AGP anymore, so eventually you will have to ditch AGP anyway.
The graphics card you have now is really your biggest bottleneck, but like someone else said, you could look at more RAM. BF2 really likes RAM... I would say get 2 more sticks of 512, or if you wana go all out, replace the 2x512 you have now, with 2x1gb. But getting 2x1gb will set you back about 200-250 depending on the quality of ram u get. That would leave you 250-300 still for a graphics card thou, which should be enough, havnt looked at 6800 prices lately thou, lol.