What you can do to protect your tank in cases of failure?

Program with failure in mind - You should avoid code with open ended conditions

If Temp > 80 Then COL ON
If Temp < 77 Then COL OFF

If Temp > 80 Then COL ON
If Temp > 84 Then COL OFF    // Something may be wrong
If Temp > 83 Then ALM ON     // Notify me
If Temp < 77 Then COL OFF

When a condition is open ended then the sky is the limit on the damage that can be caused. Since, under most conditions a tank should not get so out-of-whack that readings are off-the-scale of what would be reasonable add code to handle the unexpected (e.g., if you keep your tank between 75-77 then it would be VERY unlikely that the temp would ever reach < 72 or > 80 so code as such. Add code to handle the unexpected; (using the above example) if the temp > 80 then it may be more likely that something has failed, shutting down things may be the best solution and let the human figure it out.

Adjust heaters/chillers (if adjustment is possible) to have a threshold slightly more/less than the AC3.

If a timer gets stuck in the ON state then the device may be able to assist in keeping the tank under critical conditions. A stuck heater, set slightly above AC3 set point is less likely to cause a problem than a heater set to 90 and stuck on.

Use an alarm timer

An alarm is active notification; something gets turned on (a buzzer, a light, email, pager, etc). An alarm gives that tank an ability to yelling when something may not be quite right.