I thought I would recount what I have just wasted 5 hours over the last 3 days on for amusement and perhaps to save someone else the same grief...
I am shifting web hosts. One of my sites I duplicated on the new server but wanted to test before pointing DNS to the new server so I added an entry to my hosts file. Unfortunately this did not work and I spent a lot of time running in circles putting test files on both servers to easily identify them, stuffing this up due to my ftp client following the hosts directive etc etc etc.
The problem I was having was that no matter what I did, visiting the site always resulted in the old (live) server responding. I even was able to see the new server's IP in a firefox add-on that displays the IP of the current site being visited, or with wget. I also could ping the url and get responses from the correct IP. Only my web browsers appeared to be misbehaving. However this was true on multiple computers running Windows 7, Mac Os Lion and Ubuntu 10.10. Eventually I found that if I tunneled my internet through my VPS or tethered my cellphone, the problem went away. A friend finally tipped me off to the possibility of a transparent proxy and a quick tweak to enable SSL, soon proved this to be true.
Some searches (with the benefit of hindsight) show that this proxy has been in place for some time (and there was a lot of talk about it in 2010) but I was not aware of it until now. Pity about the 5 hours but I guess I've learned something new today. Part of the reason that it never occurred to me is that I had figured a proxy would just cache whatever IP I visited, not override my requested IP by performing its own DNS query on the referrer!! Although I am (clearly) not very experienced with proxies, this really seems to me to be a very very bad way of implementing one. Damn you Telstraclear!!!