I don't know if this is possible... and maybe it's the hardest solution, but
it should be possible to modify a filesystem module sorce (at the kernel sources), and create a modified fat32 module (for example).
That way, when a request to read/write is received you reset a timer.
when the timer reaches a predefined value (2min, for example), it pulls down the voltage at a pin at the parallel port, and that way, the relay disconnects the external hd). when a new request for a read/write is received then it does the reverse. it resets the counter, and pulls up the voltage at the pin...
(of course you need an small external interface connected to the parallel port... a transistor, a resistor, a diode, and a relay)
then again.. maybe not..
[ WL-500G | fw: 1.9.2.7-7f ]