I have a regularly recurring, similar problem with FS9 and have developed a way of getting the sim running. Not sure if it will work with FSX though, might be worth a try. I have absolutely no idea why the problem occurs, or why the 'cure' works.
I remove the Terrain.dll out of the FS9 folder and put it onto my desktop, then start the sim. I get a message telling me the terrain.dll is missing but the sim will load, click OK. If you have the opening splashscreen minimised, you can drag and drop the terrain.dll back into the main folder, if not, just continue with loading the sim. When the sim is loaded, create a new default flight (different 'plane and different airport) and delete the old default flight ( If I try to use the old default flight again as default, the problem recurs). Now shut down the sim and restart it, don't forget to replace the Terrain.dll if you haven't done so already.
Sound wierd, no idea why or how it works, but it does 99 time out of a hundred. It may or may not work with FSX, Good luck though.