Revisa
esta entrada en mi blog. Me parece que es exactamente lo que estás haciendo tú (en el ejemplo con imágenes más pequeńas).
Al final se resuelve con una clase derivada de
TThread (como comenta dec) que usa las Indy.
Está el código, así que puedes probarlo o modificarlo según te convenga.