Well, I've got my Global Variable issue ironed out now.
I did read the available docs carefully but found that I wasn't really off-base in my understanding of how they work in LabVIEW. Although that boosted my ego a bit, it didn't help me figure out the problem. My next step was to methodically go through the main VI data flow in full detail, and I eventually realized my mistake during that process.
The architecture I'm experimenting with deliberately writes to the same Global in multiple locations within different SubVIs. The states within this architecture are structured so that only one Global write operation is active at any given time. Or so I thought. It turns out that I'd placed a Global write operation on the exterior of a set of cases (Init, Execute, Stop in Disabled.VI), when I really should have put it only withinin the Stop case. The unintentional, repeating write was trodding all over the intentional one (in Periodic Tasks.VI ) with its stale data.
So, as expected: user error.
