Oddly enough, I've heard of this happening with BF2, although I've never had it happen to me (knocks on wood). I have had it happen with CnC Generals and it's expansion pack, Zero Hour. More on that later...
First thing I wold try to do is to let the game uninstall itself. Go into start>all programs and find where BF2 is (I'm not at home, so I can't tell you exactly where it's at/under). See if there's an option to uninstall it, if there is, select it and go from there.
If that doesn't work, then put in disc 1, and let the auto play menu come up. See if there's an option to uninstall. If there is, select that and go from there.
Back to Zero Hour and how it did the same thing that's happening to you. The only way I was able to uninstall ZH and Generals was to open up Windows explorer, and do a few searches. I searched for (all minus the quotes) "*EA games", "*command and conquer", "*generals", "*zero hour". I looked through everything that it found and deleted the things that were related to the game, then restarted my computer. I know that this is a bad way to do it, but it was the only way I was able to get rid of the game from my system. I ran a program to clean the registry, but can't remember exactly what it was. Perhaps it was CCleaner
*, can't be 100% sure on this) to find the old generals entries in the registry and delete them.
I restarted my comp again and then inserted Generals and breezed through the installation. Same thing with the expansion pack Zero hour. Just to double check, I uninstalled both games, and reinstalled them again......with no issues whatsoever. I haven't had an issue since. I've recommended this to a clan member for BF2 (he was having the same problems that you are having) and he said that it worked.
Again, this isn't the best way to cure this problem, but it was the only way I could get it to work, short of wiping my hdd clean and reinstalling everything.
I believe that the problem(s) with my clan buddy was caused by the patches. He had just installed a patch and then had problems (same as you) with the game, installation and uninstallation. I've always used the "upgrade from Vx.x to Vx.x" patches instead of downloading the entire patch. Not sure if that'll make a difference with it, but again, it seemed to work on his computer.
Hope this helps!