OKay. So I just did a run again and used the git diff to tell me the differences.
Our scripts do modify the design-time datatable as well not just the Run-time aka After a script is finished, the content of the run-time datatable is transferred back to the Default.xls file of the Test(which is the Design time table).
Our developers are using this as an easy way of persistence . In this way it is very easy to do run from steps and debug from steps.
I noticed that the QtpTestCleanup is used in other places as well, so your concerns are valid.
As an alternative we would propose then the explicit edition of Test.Close after a test was executed.
In this way all the other use cases could remain intacted, and use cases like ours(I am sure we are not the only one using UFT in such unorthodox ways) could still go on.