Du bist auf die Art und Weise der Implementation eines Services in Delphi hereingefallen.
Nutzt Du das OnExecute-Ereignis, sind die anderen nicht mehr nutzbar. Der Dienst beendet sich automatisch, wenn die OnExecute-Methode durch ist.
Möchtest Du den Dienst steuerbar haben, dann
darfst Du OnExecute
nicht nutzen. Du musst dann in OnStart einen Thread starten, welchen Du dann in OnPause, OnContinue und OnStop steuern kannst.
...
...