Although OP does not have any conditional JSRs, I am fairly certain that there are some routines that
do not execute their
XIC(Global_New_Day_Bit) test instruction during the
same scan that the
Global_New_Day_Bit has a value of 1. There are other possible explanations (one-shot bit is modified during that scan; one-shot actions are ineffective; etc.), but that seems the most likely.
With that in mind, here is a MicroLogix 1100 example, using conditional JSRs* to emulate the same effect, of a single global one-shot event triggering single events in downstream JSR-called subroutines on later scan cycles. The images shown are cropped to fit better; the .ZIP file contains the full-width images.
* Again, I assume OP does not have conditional JSRs; they are only a technique used here to emulate the symptoms OP describes and which are the genesis for this thread.
In all of the subroutines (LADs 10, 20, 30), Rung 0000 is the logic activated by the global one-shot; Rung 0001 is the logic executed every time the routine is called.
Main routine, before first subroutine is triggered:
First subroutine, soon after it is triggered:
Second subroutine, soon after it is triggered:
Third subroutine, soon after it is triggered: