Do (did) all versions of Windows ship with a host file and do they all have a localhost entry
Não. A partir do Windows 7, a entrada localhost foi removida. localhost agora é resolvido no próprio resolvedor de DNS. O arquivo em si está lá, mas pronto para uso é apenas um monte de comentários.
Dito isto; Windows 7 se comporta como se houvesse uma entrada localhost no arquivo HOSTS. localhost aponta para 127.0.0.1 e :: 1, apenas com diferentes meios.
Have all versions of post Windows 3.1 always used a host file for local DNS queires and is it always located in :\WINDOWS\system32\drivers\etc\hosts
Sempre foi %WINDIR%\system32\drivers\etc\hosts
para o Windows baseado no NT. Algumas versões do Windows, como 2000; use \ WINNT em vez de \ Windows. E como afirmei acima; O Windows 7 não usa o arquivo HOSTS para resolver o host local.
Para o Windows não NT (pense em 95/98 / ME), tem sido %Windir%\HOSTS
.