If call of duty 4 isn't going to run, then how is crysis or bioshock? Those games are equal to call of duty or better.
You could get an older game, like quake 3 or Halo 2. How about Battlefield? Bad Company probably wouldn't work, but the older titles would. Star Wars Battlefront 1 is a great game too.
Try Alien Arena 2008. It will run as long as you've got around 1.5ghz clock speed and a decent video card. It has probably the best graphics of any free shooter in existence. A close second would be World of Padman.
You could also get a lot of your XP games back by getting another hard drive (A cheap used 20gb drive would do) and install linux on it. A lot of good shooters from the past few years have DIY linux ports. That includes MOH Allied Assault. All you need is the game disc, and download the free porting tools and run them. This is true for all Unreal Tournament and Quake titles, and all Doom titles, all Descent titles, return to castle Wolfenstein, and many more. to find one try googling "[game name] linux port" and it will probably be on the first page if it exists.
Lets see... How about Serious Sam, that's another one that's older but has good graphics... (another one that's got a port, too)
a lot of people have turned to these ports because of Vista.