Ich denke mal, dass Du das "OnExecute" Ereignis genutzt hast. Wenn dieses abgearbeitet ist, dann wird der Service beendet, ausser Du erstellst einen neuen (internen) Thread.
Delphi Hilfe
If you are not spawning a new thread to
handle individual service requests in an OnStart event handler, this is where you implement the service. When the OnExecute event handler finishes, the service thread terminates. Most OnExecute event handlers contain a loop that calls the service thread’s ProcessRequests method so that other service requests are not locked out.
Von daher mache es ohne den Handler und starte Deinen Aufruf über einen Timer, dann wird der Service auch nicht beendet. Oder halt erstelle einen - wegen mir auch leeren - Thread.
...
...