I wasn't sure if this would work correctly for me when SASL support was added, so I cleared the server list (because I never really used it for anything) and only put my usual servers in there (using named groups such as "FreeNode" etc.) - including the SASL login data.
Afterwards I modified my connect script (which does /server -m for my common servers, just like yours) to use the Group Name (ie. /server -m FreeNode) instead of the server address (ie. /server -m irc.freenode.net)

And that has worked for me ever since, even with latest 7.49; but YMMV. It might be an alternative to try out, since its a one-time only configuration thing.

Although, this doesn't necessarily mean that your method (with the server address) is supposed to be working but is broken, or is not supposed to work by design. Only Khaled can answer that.