I AM NOW GETTING EXACTLY THE SAME PROBLEM!!!!!
I never had this problem before. I used to get some CTDs when I hit "join game" but recently I have just been hitting escape and I have had very few CTDs. But now, when I try to hit "join server," BEFORE the map starts to load, the whole game CTDs, but strangely the initial Battlefield 2 graphic that comes up when you double click the icon is still there, and BF2.exe is still running in Task Manager. I can rejoin the game, but the game is not loading the server. No matter what, I cannot join a server. Every time, without exception, the game CTDs when I hit "join server." Also, strangely, even when the BF2 disc is in the drive, the first time I double-click the BF2 icon it tells me to esnure that the BF2 disc is in the drive, then when I do it a second time the game loads. I have no idea what is causing this. If you find a solution PLEASE message me and I will do the same if I manage to fix this.
Having withdrawals from BF2............