Pause Until: Pointer Is Not Spinning Beach Ball

I found one of the threads on this site that discusses your question. They didn't discuss your solution of checking the spinning beach ball, but at least one of the other solutions was discussed in this page.