Ich hatte den Button mit dem Admin-Schild-Icon versehen
Das machen wir auch so, vor allem seit man nur noch am normalen TButton die Eigenschaft ElevationRequired dafür setzen muss.
Bei uns wird dann allerdings die eigene Exe mit Parametern und der Aufforderung als Admin zu starten ausgeführt (ShellExecute + runas als verb), so dass dann im Hintergrund diese zweite Instanz die Zugriffe macht. Diese sieht man nicht, die bekommt nur die nötigen Aktionen übergeben.
Auf die Weise bleibt die Anwendung stehen wie sie ist, auch wenn sie nicht die nötigen Rechte hat, und es sieht für den Benutzer so aus als würde die Anwendung lediglich die Rechte anfordern.
(Tatsächlich geht das auch wirklich so, aber dafür muss man etwas mehr Aufwand betreiben.)