zMUD is single-threaded and uses a processing loop trick to emulate multiple thread execution (from what I gather) to prevent #WAIT from interfering with other scripts (as it once did).

CMUD is multi-threaded and capable of executing multiple operations in parallel. However, this makes CMUD considerably more complex internally.

In my opinion, #WAIT should be removed from CMUD entirely as it's not needed for anything, only encouraging less-than-optimal script writing. There are a few other ways to handle delays or queues in CMUD/zMUD.

I'm in agreement also.. but I say deprecate (and use at your own risk). Much like the venerable GOTO it served its purpose well but caused no end of headaches. There are those rare few things though, where only a GOTO will suffice. (Admittedly I can't think of an analogous one for #WAIT)

There is also a known bug that causes alarms to stop counting when you click on other MUD windows (or child capture windows).

But yes, #WAIT is a real problem because it's so attractive to new users. Tech's comparison with "GOTO" is a really good one. A long time ago people thought that getting rid of "GOTO" was going to be the end of the world. And yet most people can program perfectly well (and better!) without it. I'm still hoping that I can someday fix #WAIT to work for normal situations, but it's always going to leave dangling threads which is never a good idea.