Hmmm. Du arbeitest also mit Datasets. Nun gut. Nimm halt ClientDataSets (wurde schon erwähnt). Bei einem Refresh geht das über eine zentrale Routine, die dann eben das Reconnect-Gedöns implementiert.
Jetzt kann man sich natürlich hinstellen und sagen: "Ich will aber, das das ohne Umschreiben trotzdem funktioniert". Klar. Kann man. Bringt nur nix.