I followed the SMS instructions and was still hitting 100% awake time.
I removed Locale and the three plugins for it and now my Hero is sleeping with the screen off.
I kinda thought Locale was too good to be true. I understand that its supposed to detect when the phone enters new locations (maybe with the handset sleeping) but its not worth killing my battery in 4 hours.
I’ll continue to observe my awake time and reinstall Locale at a later date to see if it gets all effed up again.
UPDATE:
This Google.Code thread details a bug in Cupcake's LocationManagerService that can lead to multiple updates per second, extended processor use, and (one would assume) terrible battery longevity. Its sposed to be fixed in Donut.
http://code.google.com/p/android/issues/detail?id=3453