If a script job is created to update agent status across the environment, it will not run against hosts whose AGENT_STATUS is not "Agent is alive". Therefore, agents that are temporarily down will never get their status restored.
To address this, I created this script, which works with a smart group, to recheck status explicitly on those servers whose AGENT_STATUS is not "Agent is alive". It lists out the servers on the smart group, and makes individual blcli calls to recheck status on those agents. For environmental debugging, I also run agentinfo against these servers.
This should pick up servers which were down the last time their agent status was probed, and should be runnable fairly often in most environments.