OK, I figured out what the essential difference between the two implementation is.
The original OpenG Periodic trigger resets the phase upon every trigger. Your implementation is maintaining the phase.
I have a little table showing this:
Where I had a Time (ms) of 500 ms and waited 450, 100, 400, 100 and 10 ms. The column Next Trigger is showing the output state of the upper Shift Register which basically contains when the next rollover of the timer will happen.
I think we should add both implementations, making yours the default for new VIs, the old functionality should be maintained via deprecation. So currently already code isn't changing current behaviour.
Here's my proposal:
And it's documentation:
.
Losing phase has functionality if you alter the 'Time to wait'. However we might need to auto-reset then as well.
EDIT:
Please note that you might get unexpected Triggers with Maintain Phase On:
Ton