Got it, I believe. Looks like our old friend "Call was rejected by callee" has reared its ugly head again. I am hypothesizing that there is a brief window of time when Windows Media Player initiates playing a sound where the main TD window is essentially "tied up" and cannot receive calls from external code windows (in this case, the invisible window that controls the clock and a few other things). Transitions occur in steps that are "chained" together, with each step performing work and then scheduling the next step in the process. When one of those steps happens to occur at that same time the sound is initiated, the call is rejected and, unfortunately, the error simply absorbed (the TD code never sees it). As a result, the transition "chain" is broken (the next step isn't scheduled), and the transition never completes.
I've changed the way this is called so that the code can check for this specific error, and if it occurs, just schedule the next step of the chain. Looks like it is working.
Unfortunately this is code that cannot be published in a patch. I was waiting to finish the user manual before releasing the next version, but I think I'll have to accelerate that. I'm going to try to get this out over the weekend.