When a script is called from a toolbar button using ScriptObject.Execute, the script will not be able to read node connection values, Node.Value If the same script is called from a toolbar button using Activity.Run then it can read the values without an error.
As noted in another post the Node.Value will also fail inside a script function set. The fix is to use RsApp.RunScriptBuffer
GlobalFS = Node.AccessFnSet("Scripts/CustomCommands/Global Function Set");GlobalFS.Parent();
will fail when run from a toolbar button because GlobalFS.Parent() has a Node.Value in it.
cmd='GlobalFS = Node.AccessFnSet("Scripts/CustomCommands/Global Function Set");GlobalFS.Parent();';RsApp.RunScriptBuffer(cmd);
wrapped in a script buffer command and it works