Hi Alex,
Thanks for the detailed description of the scenario! However, it looks like the functionality not working for temporary variables and test items is expected.
First, the way Shared Mode works currently, the Default Value of variables is never customized, the configuration only stores the Local Value. With temporary variables, there's simply nothing to store - they don't retain their values after the test run is over. So, their Local Value is always equal to the Default Value no matter how this value may change in the test. This is also the reason why the Local Value column is not shown for temporary variables.
Now, as for storing the "Enabled" property for the test items, I can see how this could be useful. However, I haven't found any mentions of this feature in the documentation for TestComplete 4. Our support team also confirmed it when working on case 00126077 that this feature was not a part of the later versions.
It might be that the feature you described was available in older TestComplete versions (TestComplete 2 or 3, maybe). However, it's not a part of the product right now, so the Shared Mode functionality seems to work exactly as expected.
As you know, our product team welcomes any feedback, but the number of enhancements we can implement is limited. So, the team tries to implement the ideas that would benefit most customers. Unfortunately, right now it seems that the scenario we discuss is not exactly a common one, so no enhancements are planned at the moment.
As a way to prevent breaking project execution from a CI system, I'd recommend either specifying exactly what test items should be run instead of running the whole project. Or, if the number of test items is too big, you can use source control to make sure no local changes affect the project in the remote repository used by the CI system.