All the Date settings are in BCD. You are writing them in Decimal. The instruction is probably failing due to "out of range", therefore reverting to the old time/date. You can check for that using P_ER immediately after the DATE function.
You'll need to monitor in HEX to view them in BCD. They'll be preceded with "#" instead of "&".