Ok first things first forget about bottlenecks. Yes you can get to the point where is just plain not worth buying a card that you wont see the benefit of but its actually beneficial to have a GPU that your CPU cant max out, you get to run more detail and get a better quality picture,AA/AF etc.
So with that in mind granted it would be mad to run a 4870X2 on your system but a HD4670 performs a little better than a HD3850 which i have, and that wont max out Far Cry 2 with a 2.4 Core 2 at your resolution. So what i would suggest is you see if your budget allows for a HD4830.
Yes it will be restricted somewhat by your CPU but as i said you can run extra Quality/detail settings without loosing FPS and should you upgrade or overclock the CPU at any time or switch to a larger monitor the card will be up to the job still.
I guess it depends on budget and if you do plan any upgrading in future, if you are on a tight budget the 4670 will do a plenty good enough job and its probably just my personal bias coming into it with the 4830 as i like to think ahead.
no offense just because it was top of the line a few years ago does not mean it is now. your cpu will be the bottleneck of newer gpu's and someone can correct me if i am wrong. get the XFX 4830 for like $124.99
Of course my system isn't top of the line compared to what is out right now.. I never implied that. I was just saying I have top of the line for what there is in the 939 realm, so I can't upgrade any components. I am just looking to replace my gfx card cuz my 8800 died.
Also I already stated that I know my CPU will be a bottleneck for these newer cards.. it bottlenecked my 8800gts slightly.
Just an opinion like most of these but go Gtx 260 core 216 (maxing out your price range) or if you want an ATI card go 4850 or 4870 1 GB versions (the 512MB cards are a tiny bit cheaper but why not get the 1 gig ones so that if/when you do upgrade they'll last that much longer for you).