Loki12583 has described the reason for this behavior correctly. mIRC cycles through your servers list based on either the server address or the network name, depending on how the server connection is initiated. Since you have defined multiple servers with the same IP address, when you try to connect with an IP address, mIRC will search for the network that includes that address in its list and will cycle through all servers defined for that network. This is by design and there is no way around this since the only information available is the server address.

As Loki12583 noted, if you specify a password and you have included the password details in the server definition in the server list, this could also be used to find a matching server entry in the servers list to determine the network for that address (assuming that you used different passwords for each entry). I will look into this for the next version. If anyone thinks there may be any side-effects to doing this, that may affect existing users, please say so.

However, if you have not included the password definition in the servers list entry, the above method will not resolve your issue. You will need to distinguish server entries using their network name. The network name can then be used by mIRC to distinctly identify one server entry from the other.