OK, the only known problem for "threshold array" is documented in the online help: "... and it might return incorrect data if threshold y is less than the value at start index". Does this apply to your data?
I don't think it has anything to do with the number of calls on the diagram, but is an inherent limitation. The array must start with values below the desired threshold.
Your "fixed" VI basically searches the array until the data goes from negative to positive, then starts the "threshold array" at the index of the last found negative value, ensuring that the limitation does not apply. For some reason it jumps through quite a few uneccessary hoops doing so. All the stuff with bundling is not needed, it does not make sense. I have included
a cleaned-up version below. See if this works for you. (llb contains both VIs, I also did a few minor changes to the main vi for simplicity).
As a more general comment, I think there might be better ways to determine a phase shift. How does your data typically look like? (e.g. amount of noise, presence of other frequencies, DC offsets, etc. all will cause serious problems with this simplistic approach).