Whatever it is that's causing this, if Khaled indeed makes mIRC pick a random IP every time, regardless of the order of IP's it gets back from winsock, the "problem" is solved.
About what's causing this, it appears that most ISP's DNS Servers order the IP's, rotating them on every request. This has been confirmed for at least all MS based DNS servers.
So, the first request will give back 1, 2, 3, 4, 5, 6
The second will give back 2, 3, 4, 5, 6, 1
The third 3, 4, 5, 6, 1, 2
Etc.
In other words, mIRC (or actually winsock) will almost always get the lowest IP first in the first DNS Query. Add to that the fact that winsock caches, and it explains why the order stays the same within mIRC aswell.