I had this problem where I would go to play a game of Battlefield 2 (Single Player or Multiplayer), and when I would get to the spawn screen the mouse would just be frozen.
It hadn’t done it before, and I had been playing both the retail version of BF2 and the Steam version. Turns out it is caused by a profile conflict. All I did was delete my profile from the ‘Documents’ folder and away it went.
This poster had the same problem and solved it by deleting his Battlefield 2 Profile.