It's a result of some strange parsing based on whether anything is touching the identifiers.
For instance:
//.timer 1 1 scon -a if ( $!!server ) echo -a a $!!server (notice the spaces between the parentheses) will work
//.timer 1 1 scon -a if ($server) echo -a a $!!server (no spaces but no !'s either) will work
//.timer 1 1 scon -a $!!iif( $!!server,echo -a a $!!ifmatch : $!!server) will work
//.timer 1 1 scon -a $!!iif($server,echo -a a $!!ifmatch : $!!server) will work
Basically the important thing is to either put a space between the starting $ of an identifier and then use !!, or otherwise put something like a parenthesis against it and then use no !!'s.
I think this probably should be considered a bug, or at least a part of the parser which would be a hell of a lot better if it was altered.