Relatedly, I wanted to ask whether this is mainly an issue when you're using the custom date time variables and doing different things depending on the minute or hour value returned?
If so, I'm wondering whether you could solve the problem by using different date/time variables?
e.g. {Dtcustom.HH} returns values from 00 to 23, but {DtCustom.%H} should return 0 to 23, without the leading 0. Similarly, {Dtcustom.mm} returns values from 00 to 59, but {dtcustom.%m} should give you the minutes in a format of 0 to 59, so minutes below 10 will be 1 through 9.