ok, this is a little summary from what I know and have experienced.
first, yes, android does downclock itself. I dealt with this a lot when I had my hero.
second. when I installed oc widget and set it all up, it never once asked me for su permissions. this made me suspicious. I downlocked it so it was forced to stay at 575 or something but another one of my widgets said it was still at 998. I also installed setCPU and it was scaling between 245 and 998. I decided to use setCPU instead seeing as everything points to it working and oc widget not working. (I did linpack, I did cat /proc/cpuinfo and it all coincided with what setCPU was telling me) I also checked the cpu load using setCPU (this was a problem on the hero) and it stayed constant around 3%-5%.
by the way, oc widget did work on my hero and I think it asked for su permissions as well.
lastly, I used profiles on setCPU to determine my clock speed on charge, on standby (screen off) and when the power is <100%
I also do not deny you having better battery life, this might just be MY evo. btw, i am rooted using toasts method on the stock rooted rom