Yes. You still have a data flow problem that occurs in relation to the VI.
You read the control terminal early in the while loop, but for the Wait for Start case, you don't do anything with that wire's data, so it doesn't matter.
When you enter the "Wait" case, it uses the reference to the cluster, feeds it into the subVI, then reads the value of the controls. This happens almost immediately after the while loop begins. Then it proceeds to the event structure, and it sits there and waits for the start button to be pressed.
Meanwhile you are changing the values of the wash buttons. Finally you press start, but the value on the boolean wire related to the buttons was already set before it got to waiting for the start. Thus old data.
The fix is to move the subVI into the event case.
If the explanation above isn't enough, turn on Highlight Execution (the light bulb) and watch how the data flows.