Wow, nice explanation
Unfortunately, it doesn't work
If I create BinaryData as follows:
JScript code:
var Text = "Hello world!";
var BinaryData = Interop.Allocate((Text.length + 1) * 2);
BinaryData.writeSTRING(0,Text);
Then the debugger output is an empty string for the first method, and an H for the second.