Here are my test results:

1. When I start mIRC with IPv6 NOT as priority, the connection is made to irc.irchighway.net using IPv4.

2. If disconnect, set IPv6 as priority and connect again by clicking the connect button, it connects using IPv6.

For my connection, mIRC seems to be behaving as expected in this respect with internet access over both IPv4 and IPv6.

With IPv6 set as priority, I am also able to connect to an IRC server which is IPv4 only over IPv4. Again, mIRC is behaving as expected.

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. This appears to be a bug - perhaps something to do with DNS caching i.e. if it has only got IPv6 in the cache it uses that rather than check for IPv4 before connecting.

I have to admit that I would rather that mIRC acts deterministicly - which means its DNS cache needs to keep track of which IP version it has queried and if e.g. it has IPv6 addresses cached, but IPv6 is not priority, then it needs to query for IPv4 DNS entries rather than assume that IPv6 addresses are the only ones.

This also makes me wonder whether the other user's issues are timing i.e. if PC has both IPv6 and IPv4 connectivity, does it issue both IPv4 and IPv6 DNS queries in parallel but connect to the first version that replies, or does it wait for both versions to reply before deciding which address and version to connect to.