It happened to me before, but I fixed it. The problem is usually with your profile in BF2. This profile is located in your My Documents\Battlefield 2\ folder. First, try downloading
Battlefield Cleaner. Once you run the program, click on "Cleanse Files". If this doesn't work, then proceed as your problem is more involved.
**How to fix the problem**
You can start by trying to back up your server favorites, etc. (you will lose them otherwise) Do this by downloading
Battlefield Cleaner. Now, rename the folder from "Battlefield 2" to "old.Battlefield 2". I recommend renaming the folder in case this doesn't fix your problem, you can revert back to the other one and try to fix it another way. Once you have done this, fire up BF2. You will notice that it's just like running the game for the first time again. You will have to go through the videos, retrieve your account, and listen to the beginner sound clips once again. I know this sucks, but at least you'll be able to play once again. If this works, fire up
Battlefield Cleaner and add your favorites/remove startup movies again.