My Rig is 2 1/2yrs old ;-
P4 3.2 HT, 512 ddr 3200 + 256 piece of crud ram, XT9800 rad 256mb (underclocked to slowest speeds as its knackered)
bf2 -Screen Res 1340*1024(highest monitor will reach) textures,terrain,lighting=low,all other settings on med,visibility max.
i have an acceptable frame rate in bf2 even on 64player , anything between 20-45+ fps) and can even run fraps to record whilst playing, this drops fps to around 10-15fps (eek!)
bf2 went through a stage of total unplayability before say xmas, 5-10fps on small maps .
i used version 10 of disk keeper prof to defrag the HD ran spyware progs and virus checked, i repeated this process over and over having to free up 30gig on my HD. After spending hrs and hrs doing the same process i found that bf2 loaded quicker - and my frame rate jump up.
i now run bf2 same way but WITH AAx2 and its even better.
not sure if this will help you, but sometimes the obvious checks do work.