Best method to synchronize two tables across SQL servers
I suspect you grab the list of rows to move, then an insert occurs, then you delete the rows.  Instead...

Ping-pong a pair of tables.  You are always inserting into one table, always copying from the other.  Then do an atomic RENAME TABLE to switch.

See my high speed ingestion blog for something very similar.  It explains the flip-flop technique.