Whatever you do, don't buy the 7900GT. All the other cards are significantly faster. In terms of pure speed, they're all pretty close to the point of being negligible. The X1900XT would be better for Oblivion while the others would be better for Doom 3/Quake 4...you've probably already heard this all before.
I recommend the 7900GTO. If you get the 7900GTO and manage to get the memory clocked to 1600MHz, then you'd have gotten yourself a 7900GTX for almost half the price. The cooler on that thing is really good, too (and quiet), although an aftermarket cooler might help if you're overclocking.
Unless you're pressed for space or quietness, I wouldn't get the passively-cooled 7950GT...limits overclocking.
my 7900gt overclocked pretty well... 850/825(actual clock frequency) stable for a month now... eVga model.. no temp issues.. but thats probably because i have a godly case with great cooling. Got mine for 200.. with Hitman 4 or some ish.. just figured i'd throw a success story in there.
I would recommend the 7900GTO over the 7950GT, unless your main game is Oblivion in which I would recommend the X1900XT.
Also, if the X1900XT comes in at a lower price than the 7900GTO I would go with the X1900XT.
Keep in mind that the 7900GTO has a great stock cooler (same as 7900GTX reference design, the badass looking one with the four heatpipes staring at you out of your case ) while the X1900XT's reference cooler is a loud whining bastard from what I have heard. I assume HIS makes a better one, along with a Powercolor I saw that had an Arctic Cooling Accelero X2 factory installed.
IMO you probably wouldnt see a difference between the two in terms of performance but i would say go 7900gto cos its cheaper, miles quieter and can reach 7900gtx speeds easily( which is competetor to x1900xtx). Unless you are into oblivion both cards will do you proud.