Well, in that specific example, you just leave the name declaration field blank and it assigns a random name upon creation (H47 or whatever). The trick is the shipName is looking for a string, so even if you put it as shipName="RandomNumber + 0" it would just name your ship "RandomNumber + 0", not 417.
Most other variables should be able to take a reference like this:
<set_variable name="CenterPos" value="2.0" />
<create type="neutral" x="50000.0 + CenterPos" y="0.0" z="49000.0" angle="270.0" name="" hullID="0" />
and CenterPos could be referenced to something else, incremented, etc. The field has to be looking for a float type, and not a string type.
This goofy mission does play around with expressions (formulas) a bit, and the mission does work (although it is a bit strange). You can look at it for examples of how to make use of formulas. The mission was not intended as something to really play with, but more as a proof-of-concept for both expressions use and for the new commands that were offered with v. 1.7.
One of the tricks it does is to offer a way to truly randomize something, by incrementing a variable by one every second, and taking an action based on the value of that variable, triggered by some other event (in this case, a keypress by the user).
Hey, I've been using alot of the variable formulas, and I did have one suggestion for you. I see that your code has RandomFloatLow and High with a capital R. Try with a lowercase. with uppercase, the variables are just set to zero by default. With lowercase, seems to work. I tested this code below, and it worked without issue.