Yes, I didn't really have an issue getting a smaller value, like 1..100. However, the inefficiency of CMDSEGMENT is that a range of 1..100, you are in effect creating 100 additional commands.
The main reason I came up with this idea was for the prompt to get the time. The "wait for spoken response" command requires that you create an array of possible responses. I couldn't figure out a way to prompt for time. It was always "not set." I even tried breaking it out by hour, minute, meridian, but had inconsistent results. For example, it didn't like [1..12], it did however take [one;two;three;...].
With the method I'm using the variable can be any value, not just an array of possible values. The name variable for the "name" of the alarm can be any word(s) I can speak in the time I'm allowing in the prompt. LASTSPOKEN returns the value as text, however, so converting the type may be necessary as it was with time.