Start up Wireshark. Point IE9 to a local, nonroutable IP address. You will see a single TCP SYN packet try to connect to the host.
Now point IE9 to a remote, routable IP address. You will see 2 almost-simultaneous TCP SNY packets go out.
Why would a web browser behave differently when trying to get to a routable IP address?
Here's a wireshark capture of the problem.
Pkt 1 is a SYN to a nonroutable IP address. 3 second later it retries. 6 seconds after that it tries again. At Pkt 4 IE9 gave up on the first TCP socket and opened another (the source port changed). There are retries at 3 and 6 seconds later.
Pkt 7 is a SYN to a routable IP address. Pkt 8 is another SYN to the same IP address. This is the second TCP socket (source port is different).
Edit 2 Here's a better picture to see the text: