You're right that notifiers are a better way to handle this problem. I have attached a sample vi that does the same thing that your vi's with reference did. I did change a couple of actions. First, I made the subvi stop once the main loop of the vi stops (in your example you have to independently stop both the main vi and subvi). Also, I made the counter for the subvi reset just like you did with the main vi counter. There are certainly other ways to do this, some of which may be more efficient, but this was what I could quickly come up with.
By the way, in case there was confusion about my suggestion of a STOP button on the subvi panel, the STOP button was intended to be wired to the loop in the subvi and not to a STOP function. This
is certainly not the best option but could be the easiest to implement in DrWalker's already written code, although it doesn't work if there are a number of subvis operating at the same time.