Because the IfActions are only fired once. In your case, the action fires on the first refresh because [Day] is greater than 0. During all updates afterwards, [Day] is still greater than 0, and therefore the IfAboveAction doesn't fire.
I'm not entirely sure what you're trying to achieve here though.
Sorry, I remember reading that about IfActions, it just wasn't clicking with me.
I have some Meters that need to update when the day changes, either naturally or based on some user actions. I had been using two Measures to set the initial/default value:
Basically, the new formula equals 1 when the values match, and 0 when they don't. When they don't match, the IfAction resets the variable value, and they match again. This should force the IfAction to fire like you need it to.
Keep in mind that I quickly threw this code together and haven't tested it.
GitHub | DeviantArt | Tumblr
This is the song that never ends. It just goes on and on my friends. Some people started singing it not knowing what it was, and they'll continue singing it forever just because . . .