This is not an answer to your question, but does this work OK for you?
The reason I'm asking is I had something very similar.
If you look at the settings for the rule (cog to the left of the rule in the rule list) I would see an event for midnight. This is because it will evaluate the day at midnight. When I had this even though the rule was false at midnight, it would evaluate to true and turn the lights on. This is in RM 2.5 and 3.0.
The only way round it for me was to define a 'weekend' virtual switch. On at the weekend, off during the week. So instead of Mon, Tue, Weds, Thurs, Fri, I had weekend switch OFF. Sat and Sun, switch on. This was set by a separate rule just for the weekend switch.
This was the only way round the issue for me,