I lmao @BadGuy and #Your_Precious_Channel :DD
I think that adding something like this to the events will solve it:
if (r isincs $chan(#).mode) { return }
I don't think the isowner command is of much use on most networks. I've personally had no luck getting it to work anywhere.
I use .pnick to check for the status symbols like this:
if ($regex($nick($chan,$nick).pnick,/[%@&!~]/)) { scripts to execute here. }
I just change the symbols between the [ ] to match the status symbols I'm checking for.
You can't use .pnick in an On Quit event though, because there is no $chan identifier.