I ran into this same problem, and after a lot of digging, realized that my add_action(‘future_to_publish’,’handler_function’) call was gated behind an is_admin() check. So when the cron process executed the transition from “future” to “publish”, the add_action() call was never being executed, so it never registered the function to handle the transition in my plugin. Long story short — make sure the add_action call isn’t gated behind any conditions that might keep the cron process (which obviously isn’t logged in as an admin) from letting the handler be registered. My implementation works correctly after doing so.