It gets a bit weird, however, if I switch backwards and forwards between IPv6 as priority and not. So when I set it as priority and connect I obviously connect by IPv6, but after I clear it but do not restart mIRC, when I reconnect it is still done by IPv6.
In the same way that using /server to connect via SSL will permanently make a status window use SSL for future conections, using /server -4 or -6 to set a status window's default IP state will make it use those for future connections. If you use /server without -46, it will use the default global setting.
Note that mIRC does not perform any DNS caching. It calls the Windows API to resolve an address every time.
So far, I have not been able to reproduce any issues in my tests. The behaviour may not be what you would like but, as far as I can tell, it is behaving as intended.