Geralmente, o arquivo hosts será usado para pesquisas diretas e inversas. A preferência em um sistema Unix dependerá da ordem das entradas no arquivo nsswitch.conf.
por exemplo. a linha abaixo fará com que o arquivo de hosts substitua o DNS. Inverter as entradas fará com que o DNS substitua o arquivo hosts.
hosts: files dns
Não tenho certeza se você pode ajustar a ordem de preferência em um sistema Windows.
Eu dei uma olhada na fonte de ping em inetutils-20071127 (a versão instalada na minha caixa Ubuntu 9.04) e a fonte parece ativar o modo numérico somente se você pingar um endereço IP em vez de um host:
if (inet_aton(target, &whereto.sin_addr) == 1) { hostname = target; if (argc == 1) options |= F_NUMERIC;
Isso pode explicar por que você não faz uma pesquisa inversa quando faz ping no host por endereço IP.