Es ist auch ohne Treiber möglich, aber der Aufwand wird dadurch nicht geringer. Mit WinXP (2000 funktionierts glaube ich auch, NT bin ich mir nicht sicher, 9x/ME brauchst du ne spezielle VXD-Datei [oder so ähnlich]) kannst du direkten Zugriff auf alle Laufwerke bekommen. Such mal mit Google nach "Delphi direct hard disc access" oder so. Ich weiß nicht mehr genau, wo ich das Beispiel gefunden hatte, ist schon lange her.
Ok, dann beginnt der eigentliche Teil der Arbeit: du musst GENAU wissen, wie das Dateisystem des USB-Sticks funtkioniert (also z.B. FAT, FAT32 usw). Dann erstellst du einen neuen Dateieintrag genau nach den Regeln des Dateisystems. Jetzt musst du dann dem Eintrag sagen, wo der erste Cluster der Datei ist - und schon kannst du die Daten von Hand ganz einfach an die gewünschte Position bringen. Wozu das gebraucht wird weiß ich nicht, für sinnvoll halte ich es jedenfalls überhaupt nicht. Einzigstes Anwendungsgebiet wäre, das mir gerade einfällt, z.B. Festplattendefragmentierung, aber schau dich mal nach der Anzahl der guten Programme um, die das machen - das ist ein ziemlich gutes ein Zeichen dafür, wie schwer das Thema ist. Also wenn du das wirklich machen willst, denke ich, dass du dir da sehr viel Arbeit vorgenommen hast.
Bei FAT/32 wirds ja noch einfach, bei OpenSource-Dateisystemen auch. Aber sobald es an die innereien von NTFS geht wird es sehr schwer an Informationen zu kommen, da M$ diese Sachen natürlich geheim halten will. Ich weiß jetzt nicht wie weit es bereits OpenSource-Treiber für Linux gibt, die NTFS unterstützen (ohne großes Risiko, die Daten zu zerstören), aber die tuen sich dabei sicher auch noch schwer.