A big Thank You for helping out! Everything is working now.
This problem was indeed a case of PEBKAC. I hadn't pressed the heatsink connectors deep enough and two of them were loose. I can be grateful that I didn't fry my CPU -- I was even stupid enough to compile gcc and g++ at 80 C before bothering to research the matter!
Properly reattaching the fan would surely have been enough, but I went and bought a Zalman CNPS9500LED. I don't regret spending the extra money, because this baby is practically noiseless and very efficient. I have the CPU and case fans set to minimum speed but the processor temps still won't climb above 35 C!