You are correct that there is no way to pass DAQmx Timing multiple tasks. If you really wanted to you would call it for each task. I think you would find that that isn't what you want (on pretty much every DAQ device you would run into resource reservation issues since timing resources would be assigned to the first task).
What you really want to do is call create channel repeatedly (which you are doing) but instead of creating a new task each time, add each channel to an existing task. That means you need to pass a task into Create Channel. You should probably change the task array out to a shift register (so it is a single element that is preserved between iterations) and wire that to the Task In input of Create channel. You can use Create Task to create the task initially or code it to use the task out of the first Create Channel.