I think the problem is in your call to 'Counter Group Config.vi'. You haven't wired anything to the "group" input. Each counter task needs to be assigned a unique group #. Otherwise, the same default value is used every time, resulting in the kinds of symptoms you described.
Pass in a unique group # to each instance of your "initialise..." subvi and see if that works. I'm also attaching a little utility vi I got in the habit of using for all my counter tasks. Its outputs are designed to feed right into the inputs of 'Counter Group Config'.
Another option may be to use DAQmx instead of traditional NI-DAQ.
ALERT! LabVIEW's subscription-only policy came to an end (finally!). Unfortunately, pricing favors the captured and committed over new adopters -- so tread carefully.