Hallo Rolf,
ClientDataset ist schon mal ein guter Gedanke. Die Tücke steckt aber im Detail, wenn die Synchronisierung in beide Richtungen erfolgen soll. Doch das ist dir ja wohl selber bewusst, sonst würdest du nicht fragen. Also, ich hatte so eine Synchronisierung jahrelang (2003 bis ca. 2010) im Einsatz. Zwar nur mit Notebooks (wo ich wenigstens die selbe Datenbank aufsetzen konnte) aber die Probleme sind die gleichen. Mit einem einzelnen Flag pro Datensatz (ich hatte hierzu ein Feld Timestamp der letzten Änderung im Einsatz) kommt man nicht weit. Das ist bestenfalls für die Performance-Optimierung beim Abgleich zu gebrauchen. Es muss jede Änderung pro Datensatz und Datenfeld protokolliert werden. Idealerweise in einer
DB die dann beim Synchronisieren abgearbeitet wird. Und selbst dann kann es noch Ärger geben, wenn z.B. beim gleichen Datensatz das selbe Feld von unterschiedlichen Usern verändert wurde.
Wer gewinnt? Den User fragen wäre eine mögliche Variante, doch selbst das müsste man dann wieder protokollieren, denn sonst zieht deine Hotline die A-Karte und Ärger ist irgendwann vorprogrammiert. So viel ist nach meiner Erfahrung sicher.
Abhilfe: Datentransfer nur in einer Richtung. Wenn jemand unbedingt beide Richtungen haben will, dann soll er besser Geld in eine Online-Lösung (Teamviewer, Remote-Desktop...) investieren, als in eine Datenbank (Sonder-)Programmierung die sowieso langfristig gesehen mehr kostet.
Darum ein gut gemeinter Rat: die Finger von der Umsetzung "in dieser Art und Weise" lassen. Es gibt genügend fertige Alternativen.