Du darfst keinen Code in das OnExecute Ereignis schreiben. Steht da Code, so wird dieser ausgeführt und anschließend der Service beendet. Nutze stattdessen z.B. eine Timer-Komponente, welche in regelmäßigen Abständen Deine "Wünsche erfüllt".
In diesem Thread findest Du ein Beispiel für obige Idee:
http://www.delphipraxis.net/internal...ct.php?t=20553
...
...