No, it only uses initialized shift registers, so there should be no problem. If you call this VI with the single input (1D DBL) and output (2D DBL) connected, it should not give you any stale data at all. You can call it at many locations and it should always work.
There must be a mistake in your calling program. Have you found it yet?
(BTW: you don't need shift registers and empty dummy arrays, just use autoindexing instead. You should also do the second division outside the loop, no need to repeat the same calculation with every iteration. See attached crude simplification (LabVIEW 7.0)). 🙂