Ask all the other users to leave is not enough! I tried to protectively reregister my channels on the new Freenode network. For a particular channel, the server doesn't give me OP even when nobody's there!
Apparently, the new IRC server implementation is different and the status is somehow cached. The channel remains orphaned until the channel record expires and gets dropped by the server. It means before the expiration, nobody should join the channel otherwise the channel remains orphaned.
It really sucks.