create a small script, then when the channel is empty you auto cycle it to gain op again..
on *:PART:#: {
if ($nick(#,0) == 1) { cycle $chan }
}
on *:QUIT:{
if ($nick(#,0) == 1) { cycle $chan }
}
alias cycle {
part $1
.timerj 1 1 join $1
}
This is how i solved the problem, but didnt test this code, was a while ago and dont have the code i used.
The code goes in a clean remote file. ALT + R in your mirc.