Ich bekomme solche Probleme immer heraus, indem ich mir den entgültigen String (Pfad) genau anschaue.
Also anstatt
Copy ('C:\User\'+username+'\foobar'...)
eben ein
Delphi-Quellcode:
DateiPfad := 'C:\User\'+username+'\foobar';
Copy (DateiPfad...)
Dieser Tipp ist zusätzlich (und unabhängig) zu den vorherigen gemeint. Denn richtig richtig ist es nur dann, wenn man sich von Windows den Benutzerpfad geben lässt.