In reply to Vincent Bonnemains.

To resolve the issue, put an ELSE after the IF-THEN statement, such as
ELSE call symputx("withif",0);
or
ELSE ; /* empty ELSE */

Because IML is an interactive language, it doesn't execute the IF-THEN statement until it encounters either an ELSE condition or an executable statement AFTER the IF-ELSE. This is standard practice in interactive languages because it resolves the "dangling else" conflict.