I know that /timer has a special routine to look for variable assignments, so that the /timer command itself won't evaluate a variable in typical cases.
mIRC seems a bit greedy though, I was trying to pass parameter to an alias called via timer:

Code
alias main {
  var -s %a $1,%b $2,%c $3
  if (!%c) return
  .timermain -ho 1 800 main %a %b %c
}
/main a inc c

Here if %b is 'inc', %c disappear:
Quote
* Set %a to a
* Set %b to inc
* Set %c to c
* Set %a to a
* Set %b to inc
* Set %c to


#mircscripting @ irc.swiftirc.net == the best mIRC help channel