För 1:Eftersom det är så har du ingen garanti för att syncProcess
kommer att ha körts när klienten exporteras. Istället bör du göra något som i det här svaret
och exportera ett löfte istället.
För 2:Med lösningen jag länkade till i ovanstående fråga skulle detta tas om hand.
För 3:En uppdateringstabell skulle också fånga raderingar av poster, medan att helt enkelt välja från DB inte skulle göra det, eftersom du inte vet vilka poster som har försvunnit.
För 4:Den andra kommentaren efter artikeln du länkade till ger svaret (tips:tidsstämplar är inte strikt monotona).