Das Problem ist tatsächlich, dass bei einem Fehler das System nicht mehr ausführbar werden kann.
"Command" heißt ja auch aus dem CL heraus ein "CALL...".
Testen kann man das auch eher nur auf einem Entwicklungsrechner, allerdings, wenn dann das Problem auftritt, wird man fast zu einer Neuinstallation gezwungen.

Möglich ist das sicherlich.
Performance, wenn das Programm gezielt auf ein CMD prüft, vernachlässigbar.
Das System merkt sich den Programmpointer, d.h. auch, dass du ggf. einen Neustart brauchst, wenn du das Programm ändern willst, da durch das Verschieben in QRPLOBJ bei der Erstellung, weiter mit der alten Version gearbeitet wird.

Wie Dieter schon sagen würde: Alles Huddel. Wenn man solche Überlegungen hat, sollte man sich fragen, was man genau eigentlich machen möchte.

Um welches CMD handelt es sich? Was soll verhindert werden? Gibts ggf. einfach nur ein Berechtigungsproblem?