They seem pretty buggy.
To reproduce:
- Join an empty channel, let's say #bug
- Set a ban on the channel, like "/mode #bug +b [email]bla@blubb.net"[/email]
- Now, $ibl(#bug,0) returns 1, which is correct
- Now do a /mode #bug +I
- $ibl(#bug,0) suddenly reports 0
Tested multiple times on EFNet using mIRC 6.17.
Also, if the Invite list (+I) is empty, $chan(#bug).iil will return $false even if a "/mode #bug +I" has already been performed. Same with $chan(#bug).iel.
Edit: I guess this is related to
this.