Making some progress but still hitting some snags. Your suggestion about NOT using TagValues in multiscript is something I'm attempting to do. Now that, I think, I've found the low level functions that do what I need I thought it would be good to change. I believe this is also going to help with my desire to run scripts on multiple selections. However I've experienced an anomaly that I cannot explain.
Following is a couple of lines of code that do NOT work -
@var $linkpath = GetTargetPath();
MC.Utils.CreateLink ASADMIN LNKTYPE=1 LNKTRG={$filepath} LNKSRC={$linkpath}\{$linkname}
However, if I change to the following it does work -
@var $linkpath = GetTargetPath();
MC.Utils.CreateLink ASADMIN LNKTYPE=1 LNKTRG={$filepath} LNKSRC=${targetpath}\{$linkname}
Another curious point that is revealed in the debugger is that the value returned by GetTargetPath() and ${targetpath} are the same and both are strings that end with the backslash ('\') character. However, if I remove the backslash ('\') character shown in the argument to LNKSRC that separates the 2 parts of the fully qualified path then it FAILS to work. I would expect that after the variable substitution has occurred this would result in the double backslash ('\\') which I'd think does NOT belong there.