Solution
By default, all DAQmx tasks are closed when the VI containing that task is closed. This means that the DAQmx Task handle stored in the shift register will be cleared when the functional global variable finishes executing writing the task handle to memory.
To fix this behavior you have to disable auto cleanup for the task.