¿Cómo es tu evento OnExecute? No estoy muy puesto en esto pero me parece que el servicio termina apenas termina el evento, por lo que debes implementar un ciclo dentro del evento que no termine a menos que se cumpla alguna condición o incluso infinito:
Código Delphi
[-]
while true do
begin
...
end;
// Saludos