Heh, this is funny. $eval({,N) returns "N-1 N-1" for N > 0. It works correctly for N = 0 though.
However, this is probably not a bug with $eval() itself: mirc doesn't allow you to use a { or a } (by itself) as a parameter to any identifier. This one might be a general script parsing bug, since identifiers don't have problems with other special characters (like [ and ]) being used alone: //echo -s $+([,a,]) works fine, so it just feels right to expect that //echo -a $+({,a,}) works too.