La mejor solución que encontré para un caso similar, es agregar un campo "lote" interger a cada tabla que tiene que exportar información, que se rellena en el momento en que se genera un registro nuevo y, en los casos autorizados, incluso en las modificaciones.
Cada una de esas tablas tiene un índice por "lote". En la tabla de numeradores va un registro con el número de lote. A su vez, hay una tabla de registros de lotes. El último es el lote activo. Cuando se exporta información, se hacen los select en función del número de lote activo y al terminar el proceso se marca como finalizado el lote activo y se genera un nuevo lote. Con esto no importa la fecha y hora de registro, y se pueden hacer varias remisiones por día.
Como esta metodología es muy vieja (viene del clipper), hice mi propio lenguaje de marcas y todos los cursores terminan en un solo txt. que se despacha por correo electrónico. En el encabezado se coloca una marca para el número de lote y otra para el cuit de la empresa.
El destinatario tiene el intérprete que controla si el lote fué procesado y en caso negativo, rearma los cursores y los agrega. En los casos autorizados de modificación (fleteros, choferes, proveedores, camiones, acoplados), busca si el registro existe y lo reemplaza (identifican por número de cuit o número de patente) y si no existe lo agrega.