This is what I did and it hasn't crashed for me since since:
I deleted the "Battlefield 2" folder in "my documents" and it hasn't crashed since. The problem is with your profiles in that folder.
Once you've deleted the Battlefield 2 folder in "my documents" retrieve your account from EA when you log in and problem solved (you'll have to re-map your keys again if you changed them though as they go back to the default).
Try this out it worked for me.
I deleted the "Battlefield 2" folder in "my documents" and it hasn't crashed since. The problem is with your profiles in that folder.
Once you've deleted the Battlefield 2 folder in "my documents" retrieve your account from EA when you log in and problem solved (you'll have to re-map your keys again if you changed them though as they go back to the default).
Try this out it worked for me.