well, in our setup, we currently have 2 ways to tell if a nagios server goes down:
1) as we have several nagios servers, each one is supervising the others (not just the nagios process; we check if the log files are being updated ... cause sometimes, nagios just gets stuck)
2) all our alarms are sent (via SNMP traps) to a hyperviser named Netcool; so we just implemented a check called heartbeat (a check_dummy 1 which returns a warning error), which is sent to Netcool. Then, Netcool raises an alarm if no heartbeat is received since XX minutes.
Hope that helps a bit