I've had this problem before, i doubt if the fix will apply to you though.

If you have an external network hard-drive (like me) on which all of the 'My Documents' files are saved, including your BF2 settings and profiles, then make sure the drive is on, or that you've reset your 'my documents' folder to go to the right file path. If BF2 can't find these settings and profiles, it won't start up. Just turn on the drive, restart your PC and it should be fine.

If that doesn't work, reinstall it all.