A quick fix would be to re-install and repatch. Serial will work. I have had to re-install my BF2 for the last two patches to work.
Another fix that may work, you could possible rename the battlefield 2 profile in your my documents directory to something else and then restart the game, then you would have default settings again. Then you just have to redo everything. Like your controls, video and audio settings.
Not sure if that would work, but it wouldn't hurt anything if you did.
------------------------- MB: ASUS M2N32-SLI Deluxe WE AM2 nForce 590 SLI Proc: Athlon 64 X2 6000+ Windsor 3.0GHz AM2 Mem:CORSAIR XMS2(2 x 1GB) DDR2 800 Mem:G.Skill(2 x 1GB) DDR2 800 os hdd: Raptor WD740ADFD 74GB 10k RPM SATA150 VC: XFX 8800GT 512MB