That is why you trigger based on the variable only going to false. That means that they tv has turned off (variable has gone from true to false). You could also consolidate this into one rule using Private Boolean (PB) as follows:
Trigger: Power Level Changes
IF Power level is > 50 and PB is True THEN
Set PB to False
ELSE IF Power is <=50 and PB is False THEN
Set PB to True
If time is between X and Y and Phone is Present
Then turn on light and turn off other lights.
Using the PB to determine if you you were already previously within that range prevents that action from firing if the value was already below that level. And if you want to get REALLY fancy, you can build in delays of a few seconds to prevent accidental firings if you accidentally turn the TV off but then quickly turn it back on again.
For example, if the power level is currently 10 because the TV is off and the PB is Trrue. You turn on the tv so the power jumps to 75 and the PB is still True. The rule triggers based on the power change, the power is above 50 and PB is true so PB is changed to false. Now the TV is still on and another reading comes in, this time at 85. When that value is sent to the rule, nothing will happen because the reading is above 50 but the PB is false. So, the rule doesn't make any changes. That continues until a reading comes in that is below 50, and PB is not false so it changes the PB to true. It then evaluates the time and decides whether to turn off the TV. I think that will be a lot easier to manage than the two rule system you have.