I'm responding to everyone, not just argvo.
First of all, I was surprised that certain windows do not trigger the close or open events, but finding a work around was pretty easy. I wouldn't mind support for this but it is unnecessary.
As I said in the original post, if you want to know when a query window has been opened, either you monitor when YOU OPEN THE WINDOW, or you recognize the very first query from someone. At this point you can double check $query($nick).
I don't see how lack of open or close event for a query window would make it so you cannot write a flood protection. Depending on your server there are a few ways to monitor queries.
I wrote a few query block scripts. They basically monitored incoming queries and if the person was blocked, either it didn't allow the query window to open in the first place, or it closed the window when needed.