I have a Sapphire ATI 5770 (Juniper XT) like this model (Newegg link) and for some reason it has some really high temperatures.
Idle: 41 C
Load: 88 C (under Mafia II, 1920x1080 no AA, 8x AF, high detail)
This was with no Overdrive and measured by the HWmonitor and Catalyst Control Center. With in mind, I decided to turn on Overdrive to manually set my fan speed. Running the fan at 60% at idle drops the temps to 50 C, and when I game I put the fan up to 85% to get load temps at 73 C.
I'm wondering what I can do to drop GPU temps? These temps occurred in my Antec 300 case with 1 back exhaust fan and 1 overhead fan (running at low, I've changed it to medium now). I run a Phenom II 965 BE and a Corsair CMPSU-650tx PSU (it has an overhead fan). I'm thinking that maybe some front 120mm fans and maybe a side exhaust fan might help.
I'm not sure about reapplying CPU paste because there is a plastic case that covers the entire video card.
The next thing I'm going to try is gaming with the case cover off to see if it's internal case heat build up.
I have two 5770's in Crossfire in a full tower case with 2 x 80mm fans in front and back and mine get up to about 70C under load so I would imagine your issue is what you surmised originally, poor case ventilation.
Also, you need to check things like ambient temperature, relation to heater vents, dust build up etc. as they can all affect temperatures.
sounds like there is something wrong with the default fan speeds on these things. imo if its getting to 80C the fan speed should ramp up to keep it to 80c or under. Just use msi afterburner to set a custom fan profile. the card will not last long otherwise. the fan will actually last longer spinning faster also, as it wont get as hot. imagine the heat going into the fan and bearings. Is the "overhead" fan exhausting hot air out of the case , or blowing air into the case? Any fans at the back or top should be blowing out of the case. And if its not a new card, give the thing a good clean out with compressed air.