I hate to say it, but when I had this problem with BF2142 the only fix was to redownload the patches, and Northern strike, and do a fresh installation of everything. Yes I know, I know it's almost a Microsoft support center response "have you tired rebooting your computer sir?" But it was the only way to stop the game crashing as soon as the map had loaded, oh and btw I also had to remove all temp file to force the shader rendering process.