as previously the symptoms are classic for a change of screen or card, the game wants to display movies then reoptimise the shaders but crashes.
Normally deleting some or all the bf2 default data wriitten into the EA>BF2 folder in my documents solves that problem as the game will recreate the folders with defaults that usually work.
Ealier versions may save data to the program directory but later use my documents > EA> BF2
zip the existing , remove originals and restart the game,