When the "{CMDSEGMENT:}" token is used in a command that is executed by shortcut (I.E. keyboard key, joystick button, or mouse button, but not "Execute Another Command" action with the "Execute selected command" option selected, or the command list context menu; Inline function/plugin and the "Execute by name (Advanced)" option are equivalent to spoken commands in this context), only one particular order of phrases/dynamic sections allows the token to function:
If "When I say" is set to "phrase 1;phrase [2;3]", "{CMDSEGMENT:0}" will return "phrase 1"
If "When I say" is set to "phrase [1;2];phrase 3", "{CMDSEGMENT:0}" will return "Not Set"
If "When I say" is set to "phrase 1;phrase 2", "{CMDSEGMENT:0}" will return "Not Set"
So when executing a command using a keyboard key, joystick button, or mouse button, "{CMDSEGMENT:}" only works if the first possible phrase has no dynamic segments, but any following phrase does have dynamic segments.
I'd argue it would be more consistent for "{CMDSEGMENT:}" to not work at all with non-spoken phrases, rather than only in this very particular set of circumstances.
EDIT: Behavior changed in v1.8.3.19; "{CMDSEGMENT:}" now always returns "Not Set" for shortcut-triggered top-level commands