TIdTCPServer.Execute() wird immer ausgeführt, wenn es was zu tun gibt. Dass kann ein vonnect sein, das kann aber auch eine nachricht sein
Und was den Client angeht: der muss immer in einer Schleife ein ReadLn() machen, damit er Nachrichten bekommt.
Du müsstest z.B. dem Client über AThread.Connection.WriteLn() direkt eine antwot sen den können