Wenn es sich nur um ein bestimmtes Programm handelt, welches das Starten veranlassen darf, dann bietet sich die Variante mit der Owner-Process-ID wohl besser an, wobei man da noch das zugehörige Programm analysieren sollte (z.B. über 'nen Hash und Ähnlichem prüfen, ob es wirklich das passende Programm ist).
Denn alles Andere kann man auch mit Nicht-Delphi-Programmen, oder auch einer "Fälschung" in Delphi nachmachen.