I wrote a reply but I guess it got sucked into the void with the forum server instability yesterday.
I did get it working. The things I changed were that I switched to using a global_cable node instead of a global_send. I don't understand why I needed one over the other but with that change my scriptnode now compiles fine.
Also I needed to be routing a 0-1 value to the cable input in scriptnode. I was sending a negative value which shows up fine on the value knob readout in the scriptnode but I guess was being clamped to the 0-1 range and showing up as all 0.0 once it was read by the interface script. Using the .setrange() function apparently maps 0-1 data being input to the range you set, it doesn't change the requirement for the input data to be within 0-1.
All of this is somewhat stabs in the dark as there seems to be very little documentation on anything scriptnode. But it is working.