Was für mich gut funktioniert in solchen Fällen ist den Debugger erst *nach* Programmstart mit dem Programm zu verbinden (Run-> Attach To Process). Ggf muss man im Programm eine Messagebox einbauen damit das Programm absichtlich anhält und man die Zeit hat, den Debugger zu verbinden.
Oder:
Delphi-Quellcode:
while not IsDebuggerPresent do
Sleep(10);
Das funktioniert auch bei Diensten.