How about a $dqwindow identifier to compliment the /dqwindow command? Maybe 2 behaviors: Inside of a Text/Action query (or Open) event, it returns $true or $false to determine if the output will be sent to the "Message Window". Outside of an event, it returns $yes or $no to indicate the user preference is on/off.
Alternate suggestion: $query, without (), would return the valid window target in which the query is going to be displayed in. Eg: "#mIRC" if displayed in 'active window', "MadGoat" if to MadGoat's own query window, or "Messages" if sent to the Single Message Window / Dedicated Query window. Then people could use the code: /echo -ti $query Stuff $nick $1-.
(Might then have to make "Messages" a valid window alias to "Message Window", because it contains a space and would require $qt($query) in /echo commands. Strangely the switchbar says "Messages" but $active and $window() knows it as "Message Window". Same deal with "Status Window", maybe should just be "Status"?)
I agree, the whole thing is really pretty ambiguous because it has been this way for so long. I don't expect it'd be easy to fire an On Open event in the way I would expect it to when the user has Use Single Message Window enabled and the sender has sent a query for the first time. The buffer of the dqwindow would have to be read through to see if any previous messages were sent.
So I generally retract my bug report. It's not that important. There are too many overlapping behaviors to make a solution feasible or necessary.
P.S. While playing with mIRC's options to write this post, I seriously question whether "Show In Active:" [x]Queries, is working as intended. I'm not getting it to work at all anymore?