Hold on! I just remembered an easier way!
Take the unorthodox approach that instead of setting up a counter input task, create a continuous pulsetrain output task with units = Ticks. Configure your external signal as the "Tick Source". Specify that initial delay = low time = high time = 1 million.
The internal behavior of a counter in pulsetrain generation mode is to count down from # low ticks to 0. When it reaches terminal count, the output state toggles and the count reverts to # high ticks. It counts down to 0, the output state toggles, and the count reverts to # low ticks. Etc.
I am not 100% sure a DAQmx Read vi will be allowed, but you definitely can query the count value using one of the DAQmx property nodes. Probably a channel property. Then you'd just do the previously-described software trick of reporting 999999-actual count so the reported value counts up from 0 to 999999.
To make a continuous pulsetrain, put a DAQmx Timing vi in the config chain and specify "continuous sampling" -- or just adapt a shipping example.