First of all there must not be anything data flow related that prevents the update to happen...the VIs must run in parallell, you can't have the VI be a sub-VI and then try to stop it in the loop in which the sub-VI was called, as that loop would then be waiting for the sub-VI...
If that's out of the way you can use a global, you can read the global in as many VIs you want...just write the stop condition to it whereever you want. There may be race conditions etc...but that could be a problem even with just one VI. However normally I would use a functional global instead...or in this case e.g. the notify functions.