Hangon, let me just read the whole of ur DX Diag...
Right then, first off your PC can play BF2 no problem there, although some more ram COULD be helpfull.
But the battlefield series are Notoriously buggy, i went through **** trying to get it to work. And it didnt, and i have a good pc.
I wouldnt waste your time trying to get it to work tbh, get another game.
The only thing you could try is checking you have the latest drivers, and patches for BF2.