One thing to keep in mind about speedfan, Any newer(newly created..Intels processor spec finder has info on the specs for each cpu) core2 cpu has a TJ(max) of 100 and speedfan was only written to use 85(what the core2 used for the first while...)
Since Q6600's are newer they have a TJ(MAX) of 100c so speedfan requires a 15c offset to be accurate.
Core2 temp readings work based on taking a TJ(MAX) number that never changed and subtracting how close you are to get the final temp.
So let use an E6600 as an example
Speedfan asks the cpu how far am i from my max and gets an answer of 40 so speedfan just does the math
85 - 40 = 45
Speedfan then reports the temp of 45
Now you get a newer cpu with a max of 100 and speedfan asks how far.... 55....speedfan just plugs the numbers again....
85 - 55 = 30
So speedfan reports 30, but on a TJ(MAX) 100 cpu the temp is clearly too low since it should have placed a 100 where the 85 is.
The beta has this fixed......but its easy to add the 15 offset anyway in the current speedfan under configure -> advanced. just remember to check in "remember it"...
Note: TJmax[or as i was calling it TJ(MAX)] is a fixed number(per cpu). TJ(Thermal Junction) is another story all together....go see the core2 temp guide