Если внимательно почитать документацию, то станет ясно, что оператор CAL принадлежит языку IL, а не ST. Поэтому использовать его в языке ST некорректно, и компилятор должен выдавать ошибку.

Точка_с_запятой после END_IF не нужна и бесполезна.

Компилятор в CodeSys слегка странный. При наличии нескольких ошибок в коде некоторые из них может пропускать, а также сообщать о несуществующих.