phd status contains logic to notice when a local daemon isn't running, and mark that fact in the database. To do this, it reads daemon pids from pidfiles and checks to see whether the processes are still running.
After a daemon dies, PhutilDaemonOverseer immediately writes out an updated pidfile with only pids from still-running daemons, so phd status never finds the pid of the dead daemon.