Si pones el tab control fuera del bucle while, su estado no va a cambiar nunca dentro del while, mientras que si lo pones dentro de uno de los bucles verás cambiar su estado. Para ver el cambiamento de estado dentro del segundo bucle puedes crear una variable local del tab control y ponerla dentro de este. Lo mismo deberás hacer para el botón de fin del programa: si lo pasas directamente del primer bucle al segundo, este no se ejecutará hasta que el primero termine. En este caso también una variable local puede serte de ayuda.
He modificado tu vi y lo adjunto a este mensaje.