I replied to a thread where people were having the same problem, so I'm going to copy the post:
http://discussions.apple.com/message.jspa?messageID=6765992#6765992
One of the issues with the new Mac notebooks is something called SafeSleep. When you close the comptuer, SafeSleep which writes all the contents of the RAM to the hard drive before the machine actually goes to sleep. While it's doing this, it's recommended that you not move the machine, because this could corrupt the data being written or cause data to be written to an unintended location. The machine isn't actually prepared for transport until the light starts pulsating, and that typically takes about 30 seconds to a minute depending on RAM usage.
The problem with SafeSleep is that if data is being written to the hard drive when you close the screen, SafeSleep encounters an error that causes the machine to hang in sleep.
There is a UNIX command to disable SafeSleep, and this will allow your machine to go to sleep immediately when you close it. It should also reduce the chances that your machine will die in it's sleep, but consequently your machine will lose the ability to swap batteries and recover from where it left off, SafeSleep is what allows that. However, I don't swap batteries, so it's not really an issue for me. With SafeSleep disabled, the machine can be ready for transport in 2-3 seconds.
To do this command, you'll need to get into Terminal, Applications > Utilities > Terminal.
The Unix command to disable SafeSleep is:
+sudo pmset -a hibernatemode 0+
To re-enable SafeSleep, the command is:
+sudo pmset -a hibernatemode 3+
You'll then enter an admin password to authenticate the change.
This command has fixed my issues with the machine dying in it's sleep, hopefully it'll work for you guys.