OK...This was part of the problem. According to MSDN, when a NumericUpDown control is set to a minimum, say, in this case, "1", then if afterwards, you set its current value to some variable that just happens to be less than 1, it is supposed to be defaulted to "1". In my case this did not happen, and vb.Net did not throw an error when the value = 0...It simply ignored the line and exited the sub, without completing the remainder of the code. Without a thrown error, it took a long time to find the culprit. That sounds like a bug to me...If a line instructs vb to do some task and it cannot do it, it would be great if it would let someone know about it.