A built in option if you reboot HA it remembers Time Stamps on Automations and not reset at reboot

that’s not what I sugggested.

But that is at least it’s closer.

I’m not saying to save the timestamp when the automation finishes.

I’m saying save the timestamp when the timed function is called. So in the example trigger i posted the timestamp at now() + 45 minutes (2700 seconds) would be set as soon as the switch goes to on in the trigger. At that instant a listener would be created so that as soon as now() >= the timestamp then the automation moves to the next step (check conditions or run actions as appropriate). It would end up exactly as if the trigger automatically changed itself from a state based trigger with a timer into a time based trigger with a value of now() >= timestamp as the listener.

If there is a restart/reload after the state based trigger created the timestamp but the timestamp hasn’t expired (reset it when the automation finishes) then retrigger the automation at the timestamp created previously.

Of course anything can happen and you can’t account for every failure scenario but the solution I propose would go a LONG way to solving one of the biggest reliability holes in HA right now for the standard user.