WAD (it's behaved this way for at least 15+ years).
Internal commands & externals called from recursive internals (like GLOBAL) always change the title. You just never see it unless you put a pause in the command. Changing this behavior will require a significant parser rewrite (and probably generate new, much more significant bugs) for no discernible benefit.
If you disagree, you can add it to the suggestion forum and try to rally support from other users.
WAD. If the command argument does not end with "tcc.exe" (and yours doesn't), TCC will not switch to the "TCC Prompt" default argument. This is by design, as otherwise if you specified a title when starting TCC (i.e., via sui.lpTitle) it would always be overridden with a default title.
In your failcase, you have to:
1) Start TCC from CMD (an uncommon event)
2) Don't use a fully-expanded filename for TCC (an uncommon event which can only happen when you deliberately do it while starting from CMD)
3) Use TITLEPROMPT (an uncommon event)
4) Set UpdateTitle=No (an uncommon event)
5) Run an internal command like GLOBAL which calls the parser recursively (an uncommon event)
6) Pause the internal command so you can see that the title has momentarily reverted to the original one (an uncommon event)
Add all of those together, and you get a 1-in-15-years issue, which IMO at most falls into the "curious output" category, and is not a bug. Or worth a tiny fraction of the time spent talking about it.
If you have an example of why this causes a real problem for you, please post that instead of this example.