The problem with eSATA drives and Vista (and with Server 2008) occurs when the eSATA port is not flagged by the BIOS as removable. During bootup the OS determines which devices are marked as removable. I have read that here is information in the Registry indicating whether or not a port is removable, but I am not clear whether the OS uses that information or queries the driver and I have not found reliable information about fiddling with it.
If a drive is not marked as removable during bootup, Windows latches onto what it thinks is a permanently mounted drive and uses it for Transactional NTFS. As best I have been able to determine there is no practical way to get the system to turn the drive loose once it is using it for Transactional NTFS without rebooting

. I have read, but not confirmed, that Server 2008 R2 has a way to deal with this, but after much searching I have not found a solution for Vista when the BIOS does not indicate that a port is removable.
One workaround that has worked for me on Server 2008 is to ensure the eSATA drive is not mounted during stystem bootup. If the eSATA drive apears after the system has booted up it is not used for Transactional NTFS and can be removed with USBSR. I have not tested this in Vista, but I expect it would work the same.
...Jim Hansen
Canyon Country Consulting