Thanks for the detailed report and the timeline, it made the cause much easier to find.
What happened: the live directory decided whether an agent was online from regular check-ins sent by the AgentsRoom window. When that window is hidden, asleep or overloaded, those check-ins slow down or stop for a while, even though the agents keep running, and the directory read that silence as "offline". That is also why your agents were told the recipients had no console open.
What changed: an agent whose console is still running now stays listed, with its last known status. When that status is old, agents_list_live says so with a new observedSecondsAgo field, and agents_message_status explains that the notice is waiting for the window instead of saying the agent has no console. Notices themselves are still written by the AgentsRoom window: while it is stalled they wait (nothing is lost, and agents can read their inbox at any time with agents_read_inbox), and bringing the window back to the front lets them go out. The fix will be included in an upcoming desktop version.
If the problem is not fixed after this update, please reopen this ticket with as many details as possible (the agents_list_live output, and a screenshot or a video help a lot).