You are describing what would happen if the VI was un-loaded from memory after the writes and before the reads.
"Any special tricks to consider? "
Yes,
LV will load all required VI's when a top level VI is open. The hierarchy screen will show you all of this.
When a top level VI is unloaded all VI associated with that VI that are not required for any other VI's that are open, will be unloaded.
A top level VI is closed and unloaded when all references to that VI are closed.
It sounds like you are closing or destroying refereces before you are done using them.
Another factor to concider is the validity of data stored in a SR of a LV2. If you have a queue reference stored in a VI that goes idle, ie not running, the resources for that entity are subject to LV "cleaning up" and closing references that may otherwise go unclosed. This is a good thing, but must be concidered.
So...
Open at the start, keep open, close when you are done. Do not store data in a VI that goes idle.
Ben