No he leido el código, pero según tu mensaje, creo que la aplicación que hace el pool de impresión solo deberá tener en cuenta comandas "viejas" (con una antigüedad de más de "5" segundos).
De esta manera, si los terminales tardan 1 o 2 segundos en transmitir las líneas de la comanda, siempre verás comandas completas.
Algo así (firebird):
Código Delphi
[-]
qry_geral.SQL.Text := 'SELECT PC.ID, ID_COMANDA, FCH_HORA, ID_CODSKU, ' +
'DESCRIP, QTY, PRECIO, ID_CUENTA, ID_MESERO, TOT_COMENSAL,'+
'ID_SECC_PREPAR, TIPSKU, DESCRIP_OLD, ID_GRUPO, MESAUNIDA,' +
'ESTATUS,US.NOMBRE AS NAME_MESERO ' +
'FROM p_POOL_CMDAS PC ' +
'JOIN m_USUARIOS US ON PC.ID_MESERO = US.CVE ' +
'WHERE ESTATUS <> "EN" ' +
'AND FCH_HORA < 'NOW' - 5*(1/24/60/60)' +
'ORDER BY ID_GRUPO, ID ';