cancellableSendMessageTimeout can't handle reentrancy, so abort early for reentrant calls.
As far as I know, there shouldn't be any reentrant calls to SendMessage* from oleacc or UIAutomationCore in our main thread, but I'm not absolutely certain, so it's best to be safe.
It should be possible to make this code reentrant if we discover this is a problem.