had the same prob, what i did was un-install the game including registery,
WWW.filehippo.com and look for cc-cleaner its a auto repair tool, cleans ya history and all ya registery, and its free.
2nd i re-started my pc in safe mode and installed the game(s) in safe mode, (PRESS F8 WHILST THE PC IS STARTING)
3rd i re-patched the game(s) in safe mode.......... takes a long while but its worth it...
if you think that the disc is screwed do the following...
1 put disc in drive and cancle the auto run wen it comes up on screen
2 make a file on your desk top and name it back up
3 open that file and place a new folder in there called disc1 WITH NO SPACE, thats should be all you need unless you have more then one disc with your bf2 game, if you have more just reapeat step three but name the disc2 and 3
4 go to START-MY COMP- and right click on your bf2 folder and explore, copy and paste all the you see there into disc1
if that works then your disc is fine and there is no problem with it....
(I DO SUGGEST TRYING ALL THAT IN SAFE MODE)
sorry if i am teaching you to suck eggs, but i am in-sure of what you have all ready done, best of luck mate