Yes, the problem was caused by hardware. I cleaned out my computer, and it was pretty bad. Besides the cooling the hardware is good. I am waiting on some new hardware also, cpu fan and power supply, case fans and a new case. That should fix this problem.
The question is why doesn't it do this on Windows when I run cpu intensive apps. I believe in Windows that it was close to overheating though.
Are you sure windows will tell you that the cpu is being slowed down? If windows does not have the correct hooks to tell you it is happening, then the only way you can tell is if you know how long something is supposed to take, and if it takes longer than expected (by a fair margin) then it is being slowed down.
Linux did not notify of this slow down on older kernels, so it would not suprise me that windows did not notify you of it happening either, if this is so the only way to know is with a known cpu-intensive timing test that runs longer than several minutes (it usually takes 1-5 minutes to get hot enough to declock).
I believe the thing slowing down the cpu is completely in the CPU itself (it is fully automatic and not under software control from the OS, at best the OS can get notified of it happening)
Roger