If you have a problem unmounting your device, try this:
Get Process Explorer from sysinternals.com
On the main menu, Find -> Find Handle or DLL
If you have an external HD, search for \Device\KsecDD\
For a thumbdrive, \Device\
For ExHDs, \Device\KsecDD\ should give you every process that is using it. Note that not every process needs to be killed (and DO NOT kill rundll32), especially if you are using a school/work computer (certain programs acknowledge the device, but aren't using it). Common processes that lock your device (both thumbdrives and ExHDs) include explorer.exe (restart it), jusched.exe, and ctfmon.exe.
For thumbdrives, your search will be a bit less specific because I forget what exactly it's called, but it's easy to find. I don't have my thumbdrive with me right now, but I'll say exactly what it is when I do the search at home.