Die Idee mit den Files ist nicht schlecht!
Ich habe mal in einer
DB-Anwendung infach eine Log-Tabelle eingeführt, in der sich die Clients eintragen und zyklisch einen Zeitstempel aktualisieren (dadurch fallen auch "veraltete" Einträge auf).
Beim Schließen tragen sich die Client natürlich aus.
Um einen Wartungsmodus einzustellen erzeuge ich eine ReadOnly.txt bei der Exe (da steht drin, dass die Programmdaten nur noch gelesen werden können).
In einem Timer wird auf die Existenz der Datei geprüft und dann die Txt angezeigt, die Tabellen auf ReadOnly gesetzt und die Form eingefärbt.
Als zweite Möglichkeit wird eine KillAll.txt erzeugt, worauf sich alle Programme beenden (außer meins im AdminModus).
Ist nicht wirklich genial, funktioniert aber ganz zuverlässig.