Dann wirst du um den Before-Trigger (wie von dir beschrieben) halt nicht herumkommen.
Zusätzlich musst du dann aber eine ESC-Message senden (MSG-API), damit der Update/Insert/Delete dann auch fehlschlägt und UPDDTA dann abstürzt.
Da du ja nicht auf die Daten selber zugreifen, sondern nur Programm und User prüfen musst, kannst du für alle betroffenen Dateien und Funktionen (Update/Insert/Delete) auch denselben Trigger verwenden.
Aber trotzdem: mittels UPDDTA einem Anwender zu erlauben an den Daten herumzupfuschen ist schon seltsam.