The SSL port cycling problem is corrected in the 7.11 beta, I am still testing but that issue looks solved.
This issue is still in version 7.15 as stated in the original post without a resolve. Once you add the '+' to any port mIRC won't allow a write over with any other port.
And I'm here to report a similar issue with mIRC 7.19. Yesterday, I decided to ditch Stunnel and use the built-in SSL support, which works fine. The problem is, I could no longer establish a non-SSL connection using a bookmarked non-SSL server. This is on DALNet where I have the non-SSL ports set to 7000 and the SSL ports set to +6697 in the server edit dialog. No matter which non-SSL server I selected, mIRC always connected to the SSL port +6697. The selected server was correct, but the port was wrong. I looked over servers.ini, but could see no obvious corruption, and all of the non-SSL ports are correctly reflected in that file. My default port is set at 6667, so that's not an issue here.
I did some more checking and tinkering and I think I've found the problem. What I did was go into the server edit dialog and set the port to 7000 for all servers, even the SSL ones. I checked servers.ini to be certain that there were absolutely no references to port +6697 left. I closed and restarted mIRC. I reconnected, and as I suspected, mIRC still connected on +6697. The only other place that port is referenced is in mirc.ini in the mirc/host section/item. I manually edited the port entry from +6697 to 7000, restarted, and reconnected. I was now able to successfully connect on non-SSL port 7000. So, what appears to be happening is that mIRC is reading the server name from servers.ini, but reading the port from mirc.ini. It's hard to imagine why this would be an intended behavior. If a port is specified in the server edit dialog, and you select a server from that same dialog, then that should be the port mIRC attempts a connect on. Or, am I missing something obvious here? I really don't want to go back to Stunnel, but I can't deal with this behavior.