TC is definitely not able to handle dynamically changed Project properties correctly in shared Project mode / multi-user mode.
I tried it with TC and TE running parallel, both dynamically changing the ODT tree: dynamical properties are changed by a first running TC/TE instance. When a second instance starts, it gets the properties in changed Status and changes them again. In case a third instance would start, it would get properties changed over and over. The property values You get depend on the call starting sequence of the instances and on their running time.
Using the silent mode of TE stores the changes without a Chance to Abort this.
At least, the second instance fortunately doesn't make the first instance's property readings inconsistent.
Similar things can be watched with the TestedApplications Object.
It seems as if TC/TE gets a local snapshot of the central Project properties when starting a test run. When the test is finished, or in case of ODT even during the test run, changes are written back to the central Project store.
The correct way to handle this would be to
- get a local snapshot of the Project properties
- store any changes EXCLUSIVELY in this local snapshot
- enable the script programmer/user to save or disregard when the test run is over.