So, if you do get a newer plugin, then you should be good to go, as far as that goes. But, luca is right. If the DNS is down, then the other checks that fail due to the DNS being down, should be host "UNREACHABLE" and not "unknown" as it was with my test.
It's not all that hard to define parents in the "hosts.cfg" file, so give it a try.
I'd suggest that you take a look at your "status map" link, and tell me truthfully, is that really how things are setup on your network? Do you really have 1 nagios machine and then all of those other hosts all connected to it? I don't think so. I think you have a nagios host, with an ethernet card, that connects to a switch port, that is part of a switch. That switch may be connected to another port on another switch. Then, you may have a device that you are triing to monitor with the "check_ping" connected to a port on that switch.
Bottom line is, your status map should look identical to how your devices are actually wired together.
To make it simple, at least put your DNS server host as a parent for all of your "ping" test hosts. So, if a ping fails, nagios will then see that it has a parent called "DNS server". Nagios will then check that parent and see that it is down, and notify accordingly. All of the checks that have DNS server as a parent will fail too, but with a status of "unreachable" and will NOT notify, if you have your notification options setup accordingly. In other words, DON'T notify me of any "unreachable" since I know that is not the problem. I want to know what is broken, so only notify me of "DOWN", "recovered".