The way I see it, is that you have a parent process being TestComplete, which spools up a child process to run the automation. When you stop the automation, you are stopping the child process, and the message "The script execution was interrupted" is coming from the parent process. Therefore, Log.ErrCount will be zero, as the child process hasn't raised an error.
I don't think there's a way of capturing "The script execution was interrupted"
Still not acceptable if the user has to find workaround and this makes it more difficult to work with testcomplete. Atleast give the user more control over such things by adding something that helps with such situations. Add more Global Events for example OnStopButtonClicked or OnStopTest or OnPauseTest etc. I know its maybe a problem a minor portion of users will have but still (and this has not changed): Usability or ease of use does play a big role into customer satisfaction.