I agree that IDN is broken for that kind of URLs, *but* you cannot have IDN in an IP address, so if the IDN decoding gives you an IP address, one could argue that that should not be allowed.
But IDN would have been so much better if it had just banned that kind of substitution outright. I remember this being a pain when we first implemented IDN at my previous dayjob (Opera Software).