Se você estiver perdendo pacotes quando fizer o ping no servidor DNS, parece perfeitamente normal também ter falhas periódicas ao solicitar que o servidor DNS resolva nomes para você.
É difícil diagnosticar a aparente falta de cache sem saber o que o TTL está nos registros em questão - pode ser que o (s) host (s) remoto (s) tenha seu TTL configurado para vidas úteis muito curtas porque eles antecipam máquinas de troca ou está tentando fazer failover baseado em DNS.
Eu não esperaria que o seu aplicativo local armazenasse informações de DNS, pelo menos por um período de tempo sério. IMHO, isso seria um bug, não um recurso.
Se o servidor DNS de armazenamento em cache local não parece estar em cache, eu investigaria o TTL nos registros que você deseja armazenar em cache e verifique se os erros de relatório das máquinas estão configurados para usar somente seu servidor de cache para resolução de nomes.