Schematic of old setup:
This post really helped wrap my head around the differences in "Wait for Event" vs. "Wait for Expression": Remind me about the subtle differences in different kinds of waits - #2 by bertabcd1234
The big thing that was causing me to stumble, I was waiting for the event of the power going to <100. This meant that the rule, once triggered, was always waiting for that to happen. This worked great when the rule was triggered by the heater turning on. It didn't work, though, for my desire to turn off the water heater at 9:02PM whether the heater was on or not. The rule would just sit there and wait for the heater to first turn on and then turn off again, not what I wanted. By changing to wait for expression, when the power was <100 the expression was true, even if that happened well before the rule was triggered.