Der Unterschied von USB-Stick und USB-Festplatte ist, daß der Stick ein Wechseldatenträger und die Festplatte nicht. Der Quelltext auf der Seite ist aber für Wechseldatenträger (steht da jedenfalls so), wenn dann mußt du nach Code für das Auswerfen von lokalen Datenträgern suchen.
Hier noch ein Link für weiterführende Infos
http://www.uwe-sieber.de/usbstick.html
Ich hab noch etwas gestöbert und folgendes gefunden:
http://www.activevb.de/tipps/vb6tipps/tipp0718.html, ist zwar ein VB Skript, aber es sollte nicht so schwer sein das zu Delphi zu portieren, da ja eigentlich nur Systemdlls aufgerufen werden.