It would be nice to see this kind feature on znc so it would stop joining to channel if it has +i so you would not have this kind spam after reconnecting.
[07:49:12] •›› Can't join #xx: [invite only (+i)]
There are a lot of possibilities why a join may not work. The catch-all solution is just trying to join and giving up after some time. By default this is unlimited (JoinTries = 0), if you set some other value here, znc will give up after some time. The channel will be disabled (/msg *status listchans shows this status) and can be enabled again by simply joining it or /msg *status enablechan #chan
Closing, in newer ZNC versions JoinTries defaults to 10.