The way its working is in a for loop I'm incrementing a counter for each guest in Xen and numbering each one, when I select the number I am having the script perform an action to that server number. So I would need them all in one case command.
I guess its like you said its a case related ability/bug. I dont see why 1-9 would work and 1-10 wouldn't though.
Some more knowledge about RE might make you see why range 1-9 would work but 1-10 doesn't work as you expected.
If you want to match a double digit number you can not do it as you has been trying.
[1-9] matches any single number between 1 and 9, said digits included
[1-9][0-9] matches any two digits number as long as the first digit is between 1 and 9 and the second digit 0 through 9
Now [1-20] matches any single digit 1 through 2 or 0