Ok, there is something wrong with using the "timeout" property of your event structure as a means to control the delay of your loop.
If you set the timeout property to something like 200ms, then it will sit there and wait 200ms before executing the rest of your code. So if, for example, your code takes 20ms to execute your loop will actually be running at about 220ms, not 200ms. Conversly, using the "Wait (ms)" or similar VIs will execute in parallel to the other code in your loop. So if you're code takes something like 20ms to execute, and you have a 200ms wait in the loop then your loop will execute at 200ms not 220ms.
See the attached files.