Not a good idea when variables are unsigned. In fact, to be paranoid I probably should change:
now > (valClose - LEDGER_EARLY_INTERVAL)
to
(now + LEDGER_EARLY_INTEVAL) > valClose