Looks like your Find in Array returns -1 because the entry isn't found. You'll need to move the Index Array into the True case.
Edit: I've taken a look at your set case. Are you sure you are building your reference array correctly? I'm on mobile right now, but this doesn't look sound.
its actually returns the correct index. that is the problem. the refnum in the array is correct, and the index is correct but I get a 0x0000000 in the output when I use the index array to get a particular index.
The current configuration shows insert into array when I add an element. I used the build array function previously and got the same result.
The option code of "Prepare for Reentrant Run" is 0x08 not 0x80. 0x80 is "Call and Forget" which probably invalidates the reference after the vi has been executed. Not sure why this would throw an error at Index Array (instead of returning an invalid reference) but see if this fixes it.
Call and forget is what I wanted, I think. the execution of the referenced vi is a preallocated clone reentrant.