Unable to access output parameter

I'm attempting to build a process-flow that calls a script, and then uses the last string output by the script to determine if the script failed or not.  I've checked the out-of-the-box Job-Chains and have found about 30 examples of Job-Steps that appear to do just this. The pattern always seems to be the same…

1. in the first job-step invoke the script and set [ParameterOutName] to [Value = "my_script_results"]

2. in the next step use [ &OUT(my_script_results)& ] to access the output of the script

When I do this in my own Process, the [ &OUT(my_script_results)& ] isn't getting expanded.

In Job-Queue Info, you see that the output of the script is getting correctly assigned to [ParameterOutName] in the first step. The next step has a [my_script_results] parm added, and it is also set to the same script-output. Regardless, the expression "&OUT(my_script_results)&" isn't getting replaced with the script-output.

What can be going wrong?

I see another thread discussing this issue, and see that Barry explained that Job parameters are calculated when the Job-Chain is launched, and not while they are running. As this may be true, why do the OOTB processes use a script that fetches a string and then in the next tile, the string is injected into a SQL statement. I would therefore expect my code to just work.

This code always returns "not expanded"… 

Dim my_parm As String = ""
 
my_parm = "&OUT(my_script_results)&"
 
If my_parm = "&OUT(" & "my_script_results" & ")&" Then
   Value = "not expanded"
Else
   Value = "expanded to " + my_parm
End If