I will be happy to award the bounty to anyone who will provide any good insights on the questions asked. However, our initial issue was tracked down to this.
We found one particular very long running transaction that was almost guaranteed to take slightly over 60 seconds (due to unfortunate synchronization and retry logic). Its transaction context, unlike the rest of the code base, was created manually and was inheriting the global transaction timeout on Windows 7, even though executing within components all of which would have declarative transaction times set to 1800 seconds. Why this still worked on other operating systems is not very clear, but of course we are getting rid of this long running transaction scenario as a whole.
This is what "created manually" means above.
_COM_SMARTPTR_TYPEDEF(ITransactionContextEx, __uuidof(ITransactionContextEx));
ITransactionContextExPtr pTransContext;
TESTHR(pTransContext.CreateInstance(CLSID_TransactionContextEx));
ISomeSvcsPtr pSomeSvcs;
pTransContext->CreateInstance(__uuidof(PSSomeSvcs),
ISomeSvcsPtr::GetIID(),
reinterpret_cast<void **>(&pSomeSvcs));