Since mIRC variables are untyped, I thought the purpose of -n was to declare a typed variable (type: text). For instance:

alias x {
  set -ln %x 00
  if (%x == 0)  echo -s -> LN 0  (this should NOT appear)
  if (%x == 00) echo -s -> LN 00 (this should appear)
  set -l %x 00
  if (%x == 0)  echo -s -> L 0   (this should appear)
  if (%x == 00) echo -s -> L 00  (this should appear)

But when I tried this, all 4 echo statements worked. So I guess -n doesn't work that way either. Does anyone know exactly what -n does do?

Anyway, regarding the "" issue, I tried manually setting a global variable named %zzz to "" in the script editor's variables tab, but //echo $+(A,%zzz,A) returned AA. So either variables can't contain "" by design or the bug also affects variable declarations which mIRC scoops up from the script editor variables tab. Anybody know for sure?