Jeremy,
Depending on how you are starting and committing your tasks, it is possible that with only one task, the hardware never needs to be reprogrammed between your stop call and your start call. This generally happens if you explicitly commit the task outside the loop, then start/read/stop inside the loop. However, if you have multiple tasks in your loop, then the hardware must be re-programmed each time you start either task, as the hardware configuration will differ from task to task. This re-programming would explain why you see a performance difference when you add then 2nd part into your loop. You are essentially doubling the amount of hardware programming that must be done.
To use two different tasks, you need to stop the 1st before starting the 2nd because both tasks are programming the same hardware (all of your AI channels share some common resources). This is why you get a resource reservation error when you try to start the 2nd task, if you haven't stopped the 1st task.
In your original post, you had mentioned that your VI ran OK for an hour, before getting bogged down and crashing. Has that problem been resolved, or are you only seeing problems after some amount of run time? If the original problem has been resolved, and the problem is getting both tasks to run in a 10ms window, then I would see if you could read all of your voltages as part of the same task, and then perhaps programatically scale the thermocouple reading into appropriate units, rather than using an separate task. If this is done, then the task could be committed outside of the loop, and started/read/stopped inside it. However since no change is made to the hardware configuration, you should be able to re-start without the driver re-programming any of the hardware, which should help with your performance. Depending on how each of these task is configured, it may be possible to do something like this.
Hope this helps,
Dan