Hello Scott,
I had a look at your code, and I believe I see the problem. You are creating tasks over and over again in your large while loop, but never clearing any of those tasks. If you look in the "Untitled 3.vi", you will see that it calls
DAQmx Create Task.vi and
DAQmx Create Channel.vi. Then you start the task, read in a loop, and stop the task, but you never clear any of the tasks using
DAQmx Clear Task.vi. You should perform all configuration (creating tasks and channels, setting up timing) only once outside the main while loop. If you move "Untitled 3.vi" outside of you main loop, it should help.
Let me know if you have any further questions!
Best regards,