I agree with devil. For some reason EA patching system has created alot of problems. I had a hell of a time last patch.
I had to do a full install of bf2, then patch bf2, then install Secial Forces, then istall all the patches AGAIN. It was the only way I could get it to work. It sounds exactly like the problem your having.
Hopefully this helps you.