Functional Global Variables only work within a single context. Contexts only exist on one target (e.g. My Computer, a Compact RIO, RT device, etc).
FGVs are really just a neat way to create a shared value in a program using a feature of shift registers -- if you don't initialize the shift register on the diagram then it will be initialized with whatever value it hat last. A VI that is running on two targets is not the same VI -- it's two copies of it. So you have two copies of your FGV, which is why the data you want to share isn't being shared.
To communicate between two targets, I suggest you check out shared variables, TCP, or network streams. There are a lot of other options, but those are my favorite and easiest to set up in difference scenarios.