Leider kennt Delphi7 Ent. kein ActiveControl. Sorry habe vergessen das zu schreiben.
Mein Delphi 7 Enterprise kennt ActiveControl... und mein Delphi 1 (!) ebenfalls.
An der Funktionalität hat sich zwischen Delphi 3 und Delphi 10 Seattle auch nichts Grundlegendes geändert, SetFocusedControl sieht noch recht ähnlich aus.
SetFocusedControl könntest du übrigens auch überschreiben und das OnExit vor dem Aufruf von inherited auf nil setzen, wenn der gewünschte Button gerade fokussiert wird (wird als Parameter übergeben).
Es funktioniert hier aber auch in Delphi 7 wunderbar mit der Prüfung im OnExit des Edits, ob ActiveControl der Button ist. Dort steht da schon das neu fokussierte Control drin.