Hi Roger!
As far as the precision of the Wait.vi function, you're right, the timing will become off over an extended period of time. An improvement on this is the Wait Until Next Ms Multiple.vi function. What this does is make sure the amount of time between the start of each iteration is a specific amount apart (as opposed to just having a delay after the iteration of the loop). However, due to the non-deterministic nature of Windows, even this will deviate from the true timing after an extended amount of time.
So, if you're trying to execute an iteration once every 10 or 15 minutes or so, I would recommend polling the Get Date/Time String.vi function for the current time. This is not a wait function, however you could program your while loop to continuously poll the function and only execute a portion of the code every X minutes. See the attached VI below for an example of what I am talking about (written in LV 7.0). Keep in mind that this is just an example and can be programmed much differently to be customized for your application.
Also, I'm not sure I completely understand what you mean by "It is as if the program was only taking the two first while loop into consideration." This sounds like just a debugging situation. I would look over your code to determine if there are any dependencies between the loops or if one loop is hogging the processor (by having no wait).
I hope these suggestions help!
Travis H.
National Instruments
Travis H.
LabVIEW R&D
National Instruments