From your main vi, you call the subvi. At that time, the values from the main are input into the subvi. While the subvi is running, your main is waiting for the subvi to finish. Clicking the stop button in main while the subvi is running will not stop the subvi. It has already received the value of the stop button. It is like calling a subroutine in text languages, you pass the parameters and they immediately go to the subroutine. You can't change what has already been passed. Also, you will not see any updates (changing numerical outptut) in your main vi. Once the subvi finishes, the value of the output gets sent back to the main and then it is displayed. Fortunately, Labview has reference data type that can allow you to peek and poke into a subvi from main. Create a reference of the stop button (right click - create - reference). Also create a reference to the numeric indicator. In your subvi, change the stop and numeric indicator to reference types. Make sure they are connected in the connector pane. In the main, wire the references into the subvi. Now your main indicators will be updated as the subvi is executed, and the stop button immediately will be passed to the subvi.
Here is a better explanation. You need to understand the difference between passing a value into a subvi, and passing the address of the value into the subvi. When wiring in a control or such to the subvi, the value is sent (not the address). The subvi creates its own memory space and copies the value it was sent into an address space in its own memory. So changing the value in main does not change the value that the subvi is using. Same for the numeric indicator. The main indicator holds its value in a different address than the subvi. By using references, you are not passing the value. Instead you are passing the address of the variable, similar to pointers in C. So now, when the subvi starts, it does not create addresses in its own memory space for these variables. It manipulates the address space that was sent to it by the main. Now, when you press the stop button in main, each time the subvi must read the stop button, it goes to the address sent by main, and sees the new value immediately. Same with the indicator. When the subvi changes the indicator, it is actually changing it at the address of the indicator sent by main. So main will see the change immediately.
I hope this is clear.