Serge,
In addition to the previous answers:
You can read the information on how TestComplete deals with unexpected windows here -- Handling Unexpected Windows.
Also, you can run your tested applications in Debug mode, or run it using methods of the DbgServices object, e.g. DbgServices.LaunchApplication or DbgServices.LaunchTestedApplication. In both cases, TestComplete will act as a debugger for your application and every time an exception occurs, it will automatically post an error message along with the call stack data to the test log. The call stack info will help your developers find the cause of the problem faster. Also, see Tracing Events and Exceptions With Debug Services.