It's kind of a balancing act. We know there are some things in Toad that we have to sometimes have to wait on, but other times there are things that are legitimately taking longer than they should. I don't want to disrupt the way windows normally handles that situation unless I need to. In your initial situation - cancelling a query - does waiting help, or is Toad truly stuck? I have heard cases of Toad getting stuck while trying to cancel for some users, but haven't been able to reproduce or fix it.
Also - I have found one good use of that "not responding" dialog, which I documented in this post.