Не совсем.

Функцию (в идеологии Оберона) можно рассматривать как специальный случай процедуры, предназначенный для использования в выражениях. Т.е. функция - это процедура, расширяющая состав операций, применимых в выражениях. (Вызывать функцию не из выражения в Обероне запрещено).
Далее, в идеологии Оберона между выражениями и действиями есть твёрдая граница (в отличие от Си), которая нигде не нарушается.
Наконец, есть железное правило - вычисление выражения не должно давать побочных эффектов.
Отсюда и правило проецируется на функции.

Ну а выше мы обсудили вариант на исключение из правил - оформление алгоритма сложной структуры с помощью вложенных логических функций и их использования в IF. Ничего плохого в этом исключении, вроде, нет. А функции лучше разрешить именно вложенные, чтобы было очевидно, что они предназначены для структурирования потока управления, внутри объемлющей процедуры.