De tanto buscarle ya le encontre a mi problema, tengo un memo donde recibo los mensajes que me envian, dentro del evento OnChange del mismo mando a llamar un procedimiento para guardar el mensaje al ibDataset del cual deje la siguiente condición:
Código Delphi
[-]
if Nuevo then begin
LeerMensaje(msRemoto);
Nuevo:=false;
end;
En el procedimiento de Recibir mensajes declaro la variable Nuevo:=true, por cada mensaje que entra manda a guardarlo, pero esto no es todo, después de enviar el Cliente el Mensaje puse una pausa entre los envios:
Código Delphi
[-]
TcpClient.Disconnect;
Sleep(2000);
Asi mandará todos los mensajes por Tiempo, de otra forma si no ponen la pausa no enviará todos ¿Porque? Desconozco la respuesta, desconozco el comportamiento de envio del TCPClient y de Recepción del TCPServer.
Espero le sirva esto a alguien.
Saludos.