Hi,
I have the same problem. I have a 15" late 2007 MBP.
I was able to use a 500 GB Verbatim external hard drive (USB 2.0) wihtout any problem.
But this drive wasn't mine, so I bought myself a Freecom Classic II 1TB external hard drive (USB 2.0).
It ejects all the time when my MBP goes to sleep for a longer time. Without exception.
I cannot even find my drive in the /dev folder (only my internal drive). So it's impossible to remount it without physically unplugging and replugging the hard drive.
However I've found an interesting thing:
I checked the kernel extensions after waking up my MacBook.
And two of the extensions were missing (unloaded):
com.apple.iokit.IOUSBMassStorageClass
com.apple.iokit.IOSCSIBlockCommandsDevice
When I plug my hard drive again, they will load again, and everything works fine until the next sleep.
I tried to manually load these kernel extensions after waking up my computer. They loaded but I still wasn't able to mount my external drive. 😟
I guess the only sollution for this is to umount the drive before sleep (for example with Jettsion), and then manually unplug-replug the drive the next time I want to use it...
I hope someone will have an idea what causes these two kernel extensions to unload.