I have had exactly the same problem. Tearing my hair out. Resume working on one network and channel but not on others. Eventually my Googling turned up this, and now after connecting to the problem server using 6669 instead of the previous 6667 all my problems are solved. The resume that failed about half a dozen times is now finishing off nicely. I'm still not sure why connecting to the server using 6669 instead of 6667 would make any difference, I still have the same ports forwarded and haven't changed anything else, but the proof is in the pudding as they say, and it's relief enough that it's working.
Cheers!