[Windows Mobile Apps and Games] toadlife:
Script solution

USE THIS AT YOUR OWN RISK :)

Since fully automated overclocking is not possible without real programming, here is the solution I'm using for now. I use tarkim's custom keyboard driver in my TP2 ROM, so I've mapped these scripts to keys on my phone.

There are two scripts.

The first one turns overclocking on and off. I mapped it to run when I double tap my end key. When it overclocks your phone it changes your power settings so your phone will never go to sleep. Toggling it off will restores your old power settings. If your phone resets while it's overclocked, don't worry. Just run the script again after you reboot and your power settings will be restored.

toggle_boost.mscr

[size=0]
;Set your speed here
;41=787
;40=768
;39=748
;38=729
;37=710
;36=691
;35=672
;34=652
;33=633
;32=614
;31=604
;30=576
;29=556
;28=537
boost_speed=41

;Check to see if boost is active
boost = regread("HKLM","\System\State","Boost")

if (boost=1)
{
; Set the clock down to 604 (SOD Proof)
run("\Program Files\Msm7kCpuSpeed\Msm7KAutoCpuSpeed.exe", "31")

;restore user's suspend timeout settings
BoostOldBattTimeOut=regread("HKLM","\System\CurrentControlSet\Control\Power\Timeouts","BattSuspendTimeoutSave")
BoostOldACTimeOut=regread("HKLM","\System\CurrentControlSet\Control\Power\Timeouts","ACSuspendTimeoutSave")

regwritedword("HKLM","\System\CurrentControlSet\Control\Power\Timeouts","BattSuspendTimeout",BoostOldBattTimeOut)
regwritedword("HKLM","\System\CurrentControlSet\Control\Power\Timeouts","BattSuspendTimeoutSave",BoostOldBattTimeOut)
regwritedword("HKLM","\System\CurrentControlSet\Control\Power\Timeouts","ACSuspendTimeout",BoostOldACTimeOut)
regwritedword("HKLM","\System\CurrentControlSet\Control\Power\Timeouts","ACSuspendTimeoutSave",BoostOldACTimeOut)

regwritedword("HKCU","\ControlPanel\Backlight","BatteryTimout",BoostOldBattTimeOut)
regwritedword("HKCU","\ControlPanel\Backlight","BatteryTimoutUnchecked",BoostOldBattTimeOut)
regwritedword("HKCU","\ControlPanel\Backlight","ACTimeout",BoostOldACTimeOut)
regwritedword("HKCU","\ControlPanel\Backlight","ACTimeoutUnchecked",BoostOldACTimeOut)

regwritedword("HKLM","\System\State","Boost","0")
SleepMessage( "0", "Turbo Boost Deactivated!", "TURBO BOOST")
}
else
{
;Read and back up user's suspend timeout settings so we can restore them later.
BoostOldBattTimeOut=regread("HKLM","\System\CurrentControlSet\Control\Power\Timeouts","BattSuspendTimeout")
BoostOldACTimeOut=regread("HKLM","\System\CurrentControlSet\Control\Power\Timeouts","ACSuspendTimeout")

regwritedword("HKLM","\System\CurrentControlSet\Control\Power\Timeouts","BattSuspendTimeout","0")
regwritedword("HKLM","\System\CurrentControlSet\Control\Power\Timeouts","BattSuspendTimeoutSave",BoostOldBattTimeOut)
regwritedword("HKLM","\System\CurrentControlSet\Control\Power\Timeouts","ACSuspendTimeout","0")
regwritedword("HKLM","\System\CurrentControlSet\Control\Power\Timeouts","ACSuspendTimeoutSave",BoostOldACTimeOut)

regwritedword("HKCU","\ControlPanel\Backlight","BatteryTimout","0")
regwritedword("HKCU","\ControlPanel\Backlight","BatteryTimoutUnchecked",BoostOldBattTimeOut)
regwritedword("HKCU","\ControlPanel\Backlight","ACTimeout","0")
regwritedword("HKCU","\ControlPanel\Backlight","ACTimeoutUnchecked",BoostOldACTimeOut)

regwritedword("HKLM","\System\State","Boost","1")

; Set the clock to the desired clock speed
run("\Program Files\Msm7kCpuSpeed\Msm7KAutoCpuSpeed.exe", boost_speed)
SleepMessage( "0", "Turbo Boost Activated!", "TURBO BOOST")
}
EndIf
[/size]

The second one only turns overclocking off. I have this one mapped to my power button so it runs before the normal button function is carried out. This makes it so you don't have to remember to set the clock back before suspending the device and as a bonus it also clocks your device up to 604 when you push the power button to resume.

boost_off.mscr

[size=0]
; Set the clock down to 604 (SOD Proof)
run("\Program Files\Msm7kCpuSpeed\Msm7KAutoCpuSpeed.exe", "31")

;restore user's suspend timeout settings
BoostOldBattTimeOut=regread("HKLM","\System\CurrentControlSet\Control\Power\Timeouts","BattSuspendTimeoutSave")
BoostOldACTimeOut=regread("HKLM","\System\CurrentControlSet\Control\Power\Timeouts","ACSuspendTimeoutSave")

regwritedword("HKLM","\System\CurrentControlSet\Control\Power\Timeouts","BattSuspendTimeout",BoostOldBattTimeOut)
regwritedword("HKLM","\System\CurrentControlSet\Control\Power\Timeouts","BattSuspendTimeoutSave",BoostOldBattTimeOut)
regwritedword("HKLM","\System\CurrentControlSet\Control\Power\Timeouts","ACSuspendTimeout",BoostOldACTimeOut)
regwritedword("HKLM","\System\CurrentControlSet\Control\Power\Timeouts","ACSuspendTimeoutSave",BoostOldACTimeOut)

regwritedword("HKCU","\ControlPanel\Backlight","BatteryTimout",BoostOldBattTimeOut)
regwritedword("HKCU","\ControlPanel\Backlight","BatteryTimoutUnchecked",BoostOldBattTimeOut)
regwritedword("HKCU","\ControlPanel\Backlight","ACTimeout",BoostOldACTimeOut)
regwritedword("HKCU","\ControlPanel\Backlight","ACTimeoutUnchecked",BoostOldACTimeOut)

regwritedword("HKLM","\System\State","Boost","0")
[/size]