Firstly I wouldn't mind upgrading to a new CPU and HSF. My only concern is that if the problem resides with the motherboard reading the temp incorrectly then I will still have a problem. Is there anyway to prove this is not the problem I am having?
I am currently checking temp with speedfan while having a game running in windowed mode.
I also let the CPU build upto 100'C and did a restart. It was at 87'C by the time I got into BIOS so I guess the temp reading software was a bit off.
It takes only seconds for CPU temperature to drop once the processing load is removed. You can see this first-hand by starting your favorite monitoring software, let readings stabilize, start Prime95+FurMark, wait a few minutes until temps either stabilize or reach the maximum you feel comfortable with, stop both then keep an eye on temperatures falling.
If your reset the PC when the CPU hit 100C, it could certainly drop below 90C by the time you manage to get in the BIOS. My CPU idles at 45-48C, starting Prime95 makes core temperatures jump to 60C within one reading refresh interval and stopping it makes the temperature drop back down just as fast.
If your HSF is properly installed and holding well, your CPU core temperatures should not get anywhere near 100C. But the fact hat you said the HSF was getting very hot seems to indicate the CPU-HSF contact is at least reasonably good, which is a little perplexing.
As others suggested, you might want to try something like a 212EVO available from Amazon for ~$28. If this still fails to cool your CPU reasonably well then you know you have a major CPU/motherboard problem. At least the 212s can fit on just about any socket out there so if you end up switching to something else, you can re-use it.