After a logic program executes, it calculates its next execution time. So if the system time is set back, the program will not execute until the next execution time is reached. This may not be for some time depending on how far the system time was changed.
For this reason, it is recommended that a time synchronization service is used to change the system time in small increments. If a large change to the time is required (backwards), it is recommended that the server be restarted to reset logic execution times.
Note that changing the time in the forward direction will not cause any problems with logic. Further to this, all times internally are stored in UTC format and so daylight savings time changes will not interfere with logic execution.