WORKAROUND FOUND:
Quick recap if you didn't read above: a bug has been found in the HTC sms app. For some reason when you SEND a text message it puts a lock on the dialer app. This lock prevents the phone from ever going to sleep, even when the screen is off. This is causing a HUGE drain on battery life because the CPU is still awake. The current workaround is to disable the internal sms app and use one of the free ones from the market instead. Thanks to mobilehavoc for testing out a new sms app and realizing that it didn't create the lock.
The current two recommendations are ChompSMS and HandCent. It is has been confirmed by multiple users (mobilehavoc, freshlyill, spork27, and myself) that the phone is sleeping properly if you don't use the internal messaging client (and of course assuming you don't have a different issue than described here!).
Between the two apps my personal recommendation is HandCent. It has a huge number of tweaks and can give you the same look and feel as the internal app.
FAQ:
Q) I killed the messages / dialer / phone using a task manager but my phone still isn't sleeping?
A) Killing the app is not necessary anymore. That was a temporary fix while I was working on figuring out exactly what caused the lock. All you need to do is use a 3rd party messaging app and stop using the internal app.
Q) I'm using a 3rd party app but now both the internal app and the 3rd party app are telling me I have a new message?
A) You need to disable notification from the internal app. All Programs < Messages < Menu < Settings < Uncheck auto-retrieve & uncheck Notifications.
Q) I followed all of your directions but my phone still isn't going to sleep?
A) It's possible that another app you have is preventing the phone from sleeping. You need to restore and start over.
1) Restore the phone to factory settings (Settings > Security > Factory data reset)
2) After the phone restores, boot it all the way up. Turn the phone all the way off and then boot it up again.
3) After the phone boots all the way, wake the phone up and put it to sleep a couple of times, then leave it asleep and wait 5 minutes. Check your awake/sleep time.
*For this to work then you should not have installed any apps after the restore, and do not send any texts. This rules out ALL issues of other apps you have installed preventing it from sleeping.
Q) How do I know if my phone is sleeping?
A) When your screen is actually turned off, there's no way for to know. However you can check your timer at: Settings < About Phone < Status < Awake Time. Pull it up and then put your phone to sleep. Wait 1 minute and then wake it up. If your awake time has counted by more than 5-10 seconds then your phone isn't sleeping. Also the % should be less than 100%. The lower the better. You can reset the timers by powering the phone off and on again.
Q) I don't even text, will this fix my phone?
A) Nope
Q) I have tried everything and my phone still won't sleep?
A) You are doing something wrong. Restore your phone and try again.
P.S: remember you need to upgrade your voicemail software if you hard reset as it is also causing the same wake problem resolved above.
Here's the Original Thread at Sprint.com:
http://community.sprint.com/baw/thread/23043