When you're running your application in Debug mode, all exceptions will still appear to you (as long as you don't explicitly tell the IDE to ignore certain exception types). However, when you run your application by its self (without debugging), you will not see these exceptions which are handled.
You should also handle exception types...
try
form1.IdTCPClient1.Host := 'localhost';
form1.IdTCPClient1.Port := 55555;
form1.IdTCPClient1.Connect;
except
on E: EIdSocketError do begin
ShowMessage('Connection Unsuccessful: '+E.Message);
end;
end;