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

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