Bueno, pues tras 2 días ya he encontrado la respuesta a la pregunta
La dejo aki por si alguien lo mira alguna vez. La historia es q en el Execute debe llegar algun tipo de ACK del cliente y si no lo lees se keda tostao. Asi q la solucion es bastante simple.
Hay q meter en el Execute esto:
procedure TForm1.ServidorExecute(AThread: TIdPeerThread);
begin
AThread.Connection.ReadLn();
end;
Con eso basta. Un saludo.