D>Падением считается когда процес сервиса умер. Так ли это в вашем случае?
Честно говоря не знаю. Из эвентов TService при эксепшене вызывается onDestroy. Пробовал в него добавить терминайт процесс — дело это не меняет.
D>VCL имеет особенность ловить исключения и не давать им выпрыгнуть вверх.
До SCM исключения доходят точно(в виндовслог текст пишется, например "Service failed on execute: Socket Error # 11001
Host not found..").