Windows: ProEject is a freeware utility that safely dismounts any removable drive by closing running applications and windows that are based on the drive. It can do this while automatically cleaning the registry and folders of the host computer from any trace the USB drive may have left behind.
Specifically, ProEject removes the MRU (most recently used) sections of Windows Registry, entries created on the 'Run on Startup' key, and shortcuts created in SendTo, Recent, Quick Launch, Windows Firewall, and Pinned (for Win7) applications and settings.
The utility can be installed on the removable drive itself or on your system's hard drive. If installed on the removable drive, running the application will automatically eject the drive and clean up after itself.
Advanced features include command line support and a long list of applications that can be integrated in the dismount process if present in the same directory as ProEject. The most useful of these is TrueCrypt.exe; if the USB drive contains a mounted TrueCrypt drive ProEject automatically detects this and dismounts accordingly.
With so many innovations in the Windows series of operating systems it is a bit strange that USB connections are natively handled the same way today as they were in Win98SE. ProEject is a useful tiny (703KB) utility that you should consider adding to your removable drives.