I've got an HP Pavilion Slimline 3200n, with an AMD Athlon 4800+, with an ATI 4550 low profile running XP and we use it connected to the TV just for watching Youtube and films. No games.
Recently it's been shutting down due to overheating. Admittedly, it's been moved around around a fair bit but never dropped afaik.
I've twice taken out the cooler, cleaned and reapplied thermal paste and on each occasion was still getting temps of 60c at boot and up to 80c at load. The psu is new btw and the GPU has passive cooling and consumes a minimum of watts.
This time round, I removed the cooler again and again cleaned the head of the cpu and the cooler with alcohol after again using compressed air over the cooler fins.
The only thing I did differently was to use much less thermal grease (rice grain size) and spread it manually over the cpu surface with a thin piece of plastic right to the edges.
The stock cooler is pretty robust with cooling pipes so is easily up to the job.
To my surprise, at bootup the core temp is only 15c and at load no more than 20c.
I'm using Speedfan to monitor the temps and can't understand how the cpu temp has now dropped so drastically. Obviously this is a good thing and now the machine is almost silent as the fan is not having to adjust for the high temps.
I can only assume:
I was using too much thermal grease before.
Expecting the heatsink to 'spread' the grease efficiently.
But by spreading it manually, it's now got a more uniform layer across the cpu surface and also tightening the 4 heatsink screws alternately, like a car, the heatsink has pushed down more evenly?
Hopefully, it will continue like this

Not entirely sure how reliable Speedfan is, but core temp is showing the two cores running at 45 and 59, which seems more likely.