Palm has written about this topic:
http://kb.palm.com/SRVS/CGI-BIN/WEBC...Case=obj(43860)
and they have no solution:
To quote Palm:
You may inadvertently have one of these keys pressed and held down continually if your smartphone is in a tight-fitting case, kept loosely in your bag, or in a pocket. In this case, the screen will remain on continually, with the keyguard notification on the screen becuse the device is expecting an input from the user to dismiss the keyguard. As a result, the battery life may be reduced significantly as the bright screen draws a large amount of power from the battery.
If you are experiencing extremely short battery life on your Treo 680, you may be inadvertently holding down one of these "wake up" keys, causing the screen to stay on continuously. Here are some things to check:
Are you using a case with your smartphone? Put the Treo 680 in the case and try to see if the case is applying pressure to any of the buttons shown above that could be keeping the screen on continuously.
Do you normally carry your smartphone in a tight pocket? Try storing your device in a case or looser pocket.
Do you keep your smartphone in a bag? Consider a case, but ensure the case does not put pressure on one of these wake up keys.
This is not really an acceptable answer. You should be able to put a Treo in your pocket, tight or loose jeans, and not have it randomly call people, create to-do's etc. Can any write an app that locks the screen using the hardware switch at the top (the volume/ringer switch) as a lock? All software switch locks seem to be capable of being disabled. Any thoughts?