As soon as you put that space in front of the 5 and store it in the variable, you are no longer storing a number in the variable, so the loop treats it as the equivalent of 0. Since your start value of 1 is already greater than 0, it doesn't display anything except for the Finished echo (which is showing correctly).

If you want the space to show in the display use
Code:
alias testwhile {
var %x = 1, %y = 5
while %x <= %y {
echo -a $+($chr(32),%x)
inc %x
}
echo -a Finished
}
  


The while loop works with two spaces after the = sign (as you observed), due to the fact that mIRC doesn't directly support multiple spaces, so as far as mIRC is concerned, there's only one space there.

For some multiple spacing issues, check spaces.dll