To work around this error you'll want to go into System Preferences->Energy Saver and for both Battery and Power Adapter tick the box next to "Put the hard disk(s) to sleep when possible" on your computer. Yes that means the OS will put all of your drives to sleep when it can but that's the only way I've found to fix the problem.
What seems to happen is that some external drives have firmware which detects inactivity and spins the drives down. If OSX is not configured with the energy saver setting mentioned above then OSX is not expecting the drives to go to sleep. When accessing the drive after it puts itself to sleep obviously something gets messed up and the error -50 is thrown among other problems.
By configuring the OS to put disks to sleep the OS will issue spin-up commands.
This should give you a way to work around the error code, let me know the results and if I can help any further :)