I had the exact same problem. I have a x1950xt from sapphire. I replaced the original cooler with a Zalman vf900cu, but still had heat problems, even after a five day burn-in period, some arctic silver, etc. The only thing I found that kills the heat is an Antec VCool. If you've never seen these before, they take fresh air from the back of your case (via two empty pci slots) and push it onto your heatsink. Now I'm getting much better cooling, but it's still a hot ah heck.
Playing Unreal Tournament with the best settings we get, it'll heat up to about 95 degrees. I play BF 2142 and the hottest it'll get is about 80 degrees (whereas before it was getting to well above 100 with slightly lower graphics settings). I bought a Vcool from ebay for about $10, they usually sell for about $15 before shipping. It's well worth the cost and I highly recommend it for our ridiculously hot cards.