The same reason you would use $& anywhere else. It seems legitimate to want to use $& in a while/if condition. Note that $& works in if conditions:
alias testif {
if ((0 == 0) && $&
(1 == 1)) {
echo -a this works in 7.22
}
}
So it should be equally valid in while conditions.
I should point out that even though the while loop fails to "loop", the condition part does actually work. In other words:
alias test {
var %i = 0
while ((%i < 10) && $&
(0 == 0)) {
echo -a This works
inc %i
}
}
Does echo "This works" once before the error is displayed. It just fails to jump back to the beginning of the loop and iterate multiple times. I imagine the bug is that mIRC thinks the continuation line for the loop is on line 4 of that alias because that's where it ends, so it jumps back there and doesn't find the /while command. mIRC should register the "continuation line" as the beginning of the while line, not the end.