All the actions below “Delay for 3600 seconds” should execute at the same time, i.e., they should all have a 3600s delay. And the 3600 seconds should be after the event has triggered, not after the (previous) 60-second delay (which should only be for the action directly below it).
Do i need to add a (3600s) delay rule before EACH action (or is one enough)?
Will the actions happen after 3600s or after 60+3600s?
Use a true/false variable.
Add an If heater is on set variable true before your current if block. Keep your if then block as is and add a 3rd if block, if variable true, turn on heater, set the variable to false.