This is a simple eject script made with AutoIT. LINK UPDATED 31th May
It searches for processes running from the USB drive and closes them gracefully - That is unsaved open files will prompt for saving - only caveats are if an app minimises to the tray when closed as in UTorrent (behaviour can be changed in the app) and USB Files opened with programs that are not on the USB drive will not close if they do not have the path in their child window title.