One such example that comes to mind is simply changing the alias that is called when you double click on a name in the nicklist through Alt+O > Options > Mouse. Change it to something like my_query_alias_that_nobody_else_will_use and you can be sure it won't be overwritten
This is the same problem as overwriting the alias, the problem is just displaced. The option itself can be overwritten, so we're still talking about a centralized point of failure. More importantly, it means only one script can access this information at a time, which is still not a sufficient solution. If I change the alias to "my_query_alias_that_nobody_else_will_use", I break "my_other_scripts_query_alias". This is definitely a workaround, but not even close to a "perfect" one. The whole point of having events is to allow scripters parallel and independent access to state operations. Just like the joining of a channel, one such state operation is the opening of a query window.
Also note that the default popups menu uses /query, so that would need to be changed too. Again, you run into the problem of multiple scripts potentially modifying one centralized setting.
I'm not sure why everyone is so hung up on backwards compatibility, as mentioned, there are a dozen ways in which ON OPEN can trigger WITHOUT breaking backwards compatibility. Let's stop talking about a problem that does not exist.