Hi,
Klar bringen unsere Vorschläge etwas, du solltest den Thread nur auch mal anschmeißen und nicht eine im Thread deklarierte Funktion aus dem Haupthread aufrufen.
Ich hab mal auf die schnelle ne Demo zusammengebaut allerdings einen Download (Upload ist aber gleich zu implementieren), Fehlerbehandlung usw sind noch nachzurüsten.
Um die Meldung "Fehler" zu provozieren einfach das Programm mir der Firewall blockieren.
Edit: Vieleicht solltest du dich erstmal mit den Grundlagen von Threads vertraut machen z.B. mit Luckies Thread
Tutorial (Threads_mit_Delphi.pdf)