CoD from its inception was more tailored for win7 and 64 bit, but it was always dx9 and that is not the issue
if you wanted your well playing CoD game to stay exactly the same, you would have needed to stop winxp updating itself with new patches, and needed to turn the steam auto update feature off in CoD (or stop using steam altogether by using the modded dll file that is available)
having said this, none of that is really needed to have CoD run well and have it fully updated with official patches (last in late 2012) and the subsequent TF patches (last one released a few weeks ago). there were some people having issues with crashes or RTD's with some of the earlier official patches, but the last final patches resolved this and it was never a major issue. there were some extended threads on 1c's forum on how to resolve those crashes (so have a search for them), but it basically boiled down to the usual common sense:
- reinstall CoD from scratch, and let it update itself
- let steam verify its file integrity, this will over write any potential corrupted files
- make sure your video drivers are up to date etc
- consider moving from XP to win7 64 bit, its a much more stable OS (but you can run it on winXP)
- toss some salt over your right shoulder
- restart the game
if you have crashes and lockups, the problem is in your own system, not in the game itself
sorry, i cant be more help, have a search on 1c in the official forum for people having similar issues, you'll find most of those complaints are pre-may2012, and there were 4 or 5 official patches since then.