Hi Santtu,
firstly, references ARE a way of doing this, but I would recommend a different, more efficient method. I would use a QUEUE to pass the data. Using a QUEUE (or more specifically a named QUEUE) involves less overhead, and the actions don't have to run in the UI thread (AFAIK).
You can load a sub-vi using VI server in such a way that it's outside the data flow of the main program. Using QUEUES wo communicate, you have something like a background process. I've done this before, and it works quite well. You can have several VIs running in the background using this approach, each seperated from the usual data-flow of the main program. Kind of like LV-services really.
Hope this helps
Shane.
PS if you need more information on how to launch the VIs, let me know.
Using LV 6.1 and 8.2.1 on W2k (SP4) and WXP (SP2)