Xfire would launch the Call of Duty 2 with UAC elevation and then the game would error with “INVALID CD KEY”.
This is because Xfire would launch the game with UAC elevation. Some games need UAC elevation, but Call of Duty 2 not.
You can change this setting per game by opening:
In this list search the specific game and change RunElevated=1 to RunElevated=0.