Let's take this script here:

Code:
alias bugz {
  var %a = 1
  while ($mid($1-,%a,1)) {
    echo -a $v1
  }
}

The input:
/bugz why does mirc have bugs?

The output:
w
h
y
* /echo: insufficient parameters


This script will halt whenever it reaches a space, also known as $chr(32), because there is a very old bug where mirc thinks that $chr(32) is a null character.

However:

Code:
alias bugz {
  var %a = 1,%b
  while ($mid($1-,%a,1)) {
    %b = $v1
    if (!%b) { echo -a This should show up for every space the script encounters }
  }
}


will not echo anything, because %b is filled with $chr(32).

There needs to be consistency. This is a long-standing issue, and it forces scripters to make tedious workarounds that should not be necessary.