To clarify Darin's suggestion - the link between a library and a VI is bi-directional. The library knows which VIs it owns, but each VI also knows which library owns it. That's why you have to save the VI as well.
Have you tried debugging your app? You can connect your LabVIEW instance to the build executable (even on a different machine) and try to get a better detail of the errors.
Ton
Thank you all for the replies. Ensuring the VI get saved corrected the issue. Using the LVClass API, I simply grab the reference to all files added to the newly created class, and save them before the script completes.
Much appreciated!
Since sequence files can end up being quite large - my largest neared 0.5MB in binary format with lots of steps with code modules and it made the Sequence Editor slowww - the counter is likely just a lightweight way for anything operating on the sequence file programmatically to hint that the file might need a re-save. The alternative would be trying to track all changes in memory, which evidently the TestStand engine's architecture does not lend itself to.