It appears to me that the system time values can be used as RValues only. In other words, it doesn't appear that I could do something like the following:
if [Current Minute] is 0 minute
In order to do this using, the method you described, I would have to setup a program that runs every minute and assign the system minute value to a variable which I could then use. But in order to do this I would need an event that updates every minute - which is what the TimeData node provides. So, this is a chicken and egg situation.
I can see where this works for you because you are using time values that only change once a day, so you can trigger on a specific time of day and update the variables.
Unless I'm missing something, and you can use these system time values as LValues, I think I'm better off sticking with the TimeData node.