As others have said, try to get an 8800GT if you can. It should fit within your price range, although you might have to wait a bit to find one in stock. Around here, it's quite hard to find a 8800GT under $260, although you can get one for its normal price ($215 or so) if you're patient. Make sure you get the 512MB one. See if you can find the newer version as well, which has a slightly larger fan and is quieter. They're starting to come into the market now.
Between the 2900 and 3870, the latter is generally a bit faster. The 2900 has far more memory bandwidth on paper but that barely helps it at all in practice. Both are about 15% slower (and have less clocking headroom) than a 8800GT though.
I'll probably skip this generation entirely, since the 8 series is over a year old and can't handle some recent games like Crysis well. Both companies are releasing dual GPU cards in the next month or two (useless as far as I'm concerned), with Nvidia's D9E coming shortly after that. It's a good thing I have plenty of old games to go through in the meantime.