Are you sure your temp readings are accurate? Here is a good thread on that...http://tinyurl.com/3959pt
Try Coretemps, TAT, and speedfan. Remember your CPU temp cannot be higher than your core temps. It should be 10-15C lower than core1 and core2.
Here's a good thread on using a tool called Crystal CPUID to directly read the e6600 digital temp sesnor. http://tinyurl.com/2lznbv
. Try it and compare to Coretemp, etc.
Also, as a temp reading test you can set your multiplier to 6, FSB to 200 mhz, lower your vCore to 1.2 or so, and turn your fans to high. Let the PC cool down, boot to windows and take a temp reading. At those low voltages, your CPU should be a few degrees above ambient. If not, then your mobo is reporting the wrong temps - my Asus mobo does if PECI is disabled.