If you want this to work, you need to change your logic. Because the switch resets immediately, you'll always get true if you click the same button twice in a row. Since there is no change, the search array contains no TRUE and the output is -1. Converted to U32 it will be a very big number.
Once you set all booleans to latch action, it will no longer be possible to send a FALSE to the subVI. If you ONLY want to send true values, wire the array directly to the search array and eliminate the shift register and "equal" node. (However, now we have to ask ourselves why the subVI even needs a boolean input ;)).
IF you also need to send FALSE values, you cannot use latch action. It really depends on your hardware to decide what is appropriate, we cannot know these details.
(btw: you might also want to initialize the shift register with a boolean array corresponding to default values of all buttons.)