I tested this and it seems to be working. If I /dns test and /dns test.com, it correctly treats the first as a nickname and the second as a hostname.

If the characters in the parameter are alphanumeric, include . or -, it is treated as hostname, otherwise it is treated as nickname.

Your example is a nickname!username@hostname combination, so mIRC cannot know whether you want it to use the nickname portion to resolve the address or the hostname portion. However, I could extend /dns to support this format and make it use the nickname by default, and if -h is used, to use the hostname. Is this what you are requesting?