This happens for me also, iMac 21.5" mid-2011.
Turns out, it seems to depend on the hard disk. I have an old Western Digital My Book, which I used as Time Machine in my ancient Mac Pro mid-2006, and it survives the sleep with no problem. I took the old internal hard drive, 1.5 TB Seagate Barracuda, and put it in an Deltaco Enclosure, and it just doesn't wake up - I get the "disk improperly ejected" whenever I wake the computer up. Both are connected to the computer directly via USB.
I did the "sudo defaults write /Library/Preferences/SystemConfiguration/autodiskmount AutomountDisksWithoutUserLogin -bool YES" thing but it doesn't help - it just makes waking up from sleep excruciatingly slow - also it looks like my keyboard connected to my USB hub doesn't wake up properly.
Here's the info for my drives. The Time Machine one works with the sleep, the Ammotus one doesn't. Go figure. I'm trying to get them to mount on the same USB bus, not sure if that solves anything - frustrating.
Storage:
Time Machin
Time Machine Backups:
Available: 7,12 GB (7 120 883 712 bytes)
Capacity: 999,86 GB (999 860 912 128 bytes)
Mount Point: /Volumes/Time Machine Backups
File System: Journaled HFS+
Writable: Yes
Ignore Ownership: No
BSD Name: disk1s2
Volume UUID: C8A2E531-9648-3B4F-A080-45D0808B2D21
Physical Drive:
Media Name: WD My Book Media
Protocol: USB
Internal: No
Partition Map Type: GPT (GUID Partition Table)
S.M.A.R.T. Status: Not Supported
Ammotus:
Available: 1,04 TB (1 042 736 279 552 bytes)
Capacity: 1,5 TB (1 499 957 936 128 bytes)
Mount Point: /Volumes/Ammotus
File System: Journaled HFS+
Writable: Yes
Ignore Ownership: No
BSD Name: disk2s2
Volume UUID: A4AA462A-215A-3A54-9998-0D32D5F8E647
Physical Drive:
Media Name: ST315005 41AS Media
Protocol: USB
Internal: No
Partition Map Type: GPT (GUID Partition Table)
S.M.A.R.T. Status: Not Supported