Its hardy a flame war. We're merely have a polite disagreement.

Often times there are LOTS of ways to do any given thing. I've offered some, others have offered other options. Use which ever one you feel best suits your needs.
This is inaccurate. WScript.Sleep causes the script engine layer to hang. No events or aliases will process so long as the single-threaded script layer is frozen.
Actually, while I think I understand what you're getting at, this isn't quite true. Other scripts run just fine while using WScript.Sleep (I tested this out when I first got the snippet). Its true that it causes the currently executing script to "hang" but that's the whole intent.
I've seen no real world use cases where the COM WScript.Sleep alias is at all useful. If you need a delay for a set time, use a timer, there are far fewer side-effects.
Yes, 99% of the time you can use timers to do exactly the same thing. However, there is the occasion where you're not sure how long the timer should run for, and if you need to know that in order for the script to run correctly, using this method can ensure that everything happens correctly.
Again, this is a fairly rare, but it does on occasion come up.
Back on subject. There is also a dll out there called whilefix.dll which makes mirc responsive while its running a while loop.
http://www.mircscripts.org/comments.php?cid=2617 It is quite old, but as far as I can tell, it still works.
I've tried the various examples given, I can't make any of them work. I've obviously missed out somewhere on some simple modern programming concepts - I'm very much an 80's programmer where we had Z80's running at 4MHz, and FOR TO NEXT loops with GETKEY statements.
If you post the code here, we're much more likely to be able to tell you why it isn't working and what you can do to fix it.