I may be buying a GPU for a friend as well, he's got a full size dell optiplex desktop with a Pentium Dual Core and 2GB Ram. (Don't know the speed of either)
Anyways, he has a budget of under 50 bucks or so for xmas, and it will be running on a stock dell power supply, so around 350w. He also has a single monitor with native 1024x768 resolution. Also only one PCI-E x16 slot.
He wants me to buy him a dedicated graphics card, It's mainly to introduce him to PC gaming, as he can't afford a PS3/360 and his modded wii just isn't enough. He'll definitely be playing the CoD games, and probably some Battlefield/Medal of Honor, and maybe even some old Halo. At the time he doesn't need PhysX, Eyefinity, or Stereoscopic 3D or anything, just wants to be able to do some regular gaming.
The GT 220 is a good card, but not almost all the games like you said would run in high graphics settings.
I could recommend you the 9600 GT which is a quite good card. I have a 8400 GS and have played almost all the games you said including Medal of Honor 2010 , Call of Duty Black Ops which are really good at low resolution and mid graphics settings
Alright.. he doesn't need to play in 1080p, doesn't need DX 11, eyefinity, or any other special "perks" of PC gaming. So just base performance in gaming, which card would do it best? He'll probably actually build a rig in a few years, so it doesn't need to be completely future proof. I've seen a GT 220 do just fine, many people have said it's a very good card, but at the same time i've seen those other cards do well too.