I often find that OS X refuses to obey my /etc/hosts file for some time after I change it. It seems that often you have to manually flush the DNS cache by hand to force host file changes to take effect.

Under pre-leopard systems, use lookupd :

> sudo lookupd -flushcache

Starting with Leopard, lookupd has been replaced with dscacheutil :

> sudo dscacheutil -flushcache