Per 1:Dato che non hai garanzia che syncProcess
sarà eseguito al momento dell'esportazione del client. Invece dovresti fare qualcosa come in questa risposta
ed esporta invece una promessa.
Per 2:con la soluzione a cui mi sono collegato nella domanda precedente, questo sarebbe risolto.
Per 3:una tabella di aggiornamenti rileverebbe anche le eliminazioni di record, mentre la semplice selezione dal DB non lo farebbe, poiché non sai quali record sono scomparsi.
Per 4:il secondo commento dopo l'articolo a cui ti sei collegato fornisce la risposta (suggerimento:i timestamp non sono strettamente monotoni).