We are doing something similar - in our scene "OnOnline" and "OnPreviewRender" scripts (identical to each other), we are taking a text field that is set by a widget (a team code) and setting the datalinq key value to that team code.
There's another text field that is set to read that datalinq property to get the team nickname, and it works great when you put the scene online. However, it does NOT work for previews.
We ARE doing the XpScene.RefreshDatalinqs() call (or rather "Selt.RefreshDatalinqs" in those functions), but it still only renders the correct team nickname when we take it, not preview it.
Any suggestions?
#XPression