If I recall correctly, the decay rate is a timer not in conjunction to the players play time. For example, the server decay timer is set to every 4 hours. If a player with active warnings joins 3 hours after the server starts he will receive a reduction of 1 warning after only 1 hour. It's not the most effective way to manage warnings, but it was the only solution I could come up with at the time. I will look onto making this more effective when I am out of the hospital.
So, for your players to lose a warning they may need to stay connected for up to 4 hours in a single session, as it does not roll over.