It appears a well-known problem that when an external USB hard drive sleeps to save power, Linux becomes very confused. I tried modifying the drive's settings to no avail. My cheesy answer is to not let the drive sleep using a cron job. Do "sudo crontab -e" and put a line like:
0,10,20,30,40,50 * * * * echo "junk" > /mnt/steve/keepawake
in the crontab, with the correct path to the file on your machine of course. You don't have to be root of course, if you have permissions to write to a partition on the drive.