Your 3Dmark score is not that bad at all. You need to check and see how many programs you have running in the background. Hit "control-alt-delete" at the same time and click on "processes". I have unneeded programs shut down before I start gaming (usually 35 processes or less). Any more than that and you are using system resources that could be used for the game (I have an HP printer and the software they load on your system can be described as bloatware). Also, when you use four 512mb sticks of ram vs. two 1gig sticks I think you take a slight performance hit. Good luck.
Firstly your FPS sounds about right in BF2. The biggest variable here is do you play on a 32 48 or 64 man servers. If your on a 64 man server your CPU and gpu are going to get taxed pretty hard. Now if your getting 60 ish on a 32 man that sounds like you might have an issue. I have E6600 With a 1900XT(max settings at 1280x1024 at 4xAA 8XAF + Adaptive AA) and in a 64 man server at full bore i average in the 70's though maps differ in performance.
First off, those benchmarks you saw @ 100+ FPS, were probably max FPS, not min or average. So that is why its so high. My system in the sig is 50 - 80fps depending the variables. Also no your CPU is not really limiting you when gaming. Toms did a review a while ago and it said the X1900XTX needed a 2.4ghz Athlon 64 or higher to not bottleneck it. Here is the thing, using a dual core CPU in 3Dmark06 will make your overall score jump a ridiculous amount, see my score in my sig and you will see what I am talking about. Everything seems fine on your comp and score, so I wouldn't worry about it to much.