Upgrade the cpu to a quad, a q6600 will do you nicely then clock it.
You should be sorted.
The C2D (Core 2 Duo) 6400 is a dual core, the C2Q (Core 2 Quad) Q6600 is a very popular quad core. Ideally you'll need a quad core to run BF3 smoothly and the Q6600 is the most popular They sell used on here for around £60-70. That will dramatically increase FPS compared to your C2D.
Your current GPU will handle 1080p easily on medium settings i should imagine.
I guess 1080p med is better than 1050 high?
Depends on what resolution your screen is and what you are most happy with. I'd rather run a game at native resolution with lower settings than at a lower resolution with higher settings tbh
CPU needs changing to a Quad, and possibly 4GB RAM as well.