I used the option #2 you presented, with a few additions. I have a sub-VI that had a Cluster passed to it. There is a possibility that 12 instances of this VI would be called, each with it's own independent PAUSE button. The WHILE loop in question is within a sequence, within a larger WHILE loop, in the sub-VI. I created a local variable from the Cluster (read), put it within the target WHILE loop and used a Property Node (value), combined with an unbundle to control the WHILE stop command. This seems to work. Not 100% sure why one works and not another, but I'm getting there.