Grundsätzlich empfehle ich erst einmal, mit dem
Process Monitor zu schauen, was da passiert.
Viel mehr kann man dazu so gar nicht sagen. Typische Probleme wären z.B. ein unterschiedliches Arbeitsverzeichnis (wird an CreateProcess übergeben), aber da würde kaum ein Netzwerkfehler kommen.
Vielleicht liegt es aber auch am im Programm verwendeten Manifest. Das wäre z.B. ein möglicher Unterschied zwischen einem neuen Projekt mit dem einzelnen Formular und dem Programm. Ich weiß nicht mehr, ob Delphi 6 schon das XPManifest kannte, aber wenn du das verwendest, würde das ja Windows sagen, dass dein Programm für eine über 20 Jahre Windowsversion geschrieben wurde. Da käme dann ggf. die Kompatibilitätsfunktionalität ins Spiel.
Aber für die Fehlerbehandlung wäre es wirklich einfacher, wenn du den Download direkt im Programm machst. Dafür kannst du Delphi 6 ohne Weiteres aufgrund der heutigen Sicherheitsverfahren nicht mehr nutzen (das zum Thema "aber es läuft"
), aber wenn du keine aktuelle Version einsetzen möchtest, kannst du zusätzliche Bibliotheken wie das von Thomas genannte mORMot nutzen. Viele Alternativen hast du da nicht, da die meisten (wie ICS) erst ab Delphi 7 oder noch höher funktionieren. Der große Vorteil ist, dass du direkt die Ergebnisse prüfen kannst und auch direkte Fehlerinformationen bekommst.