Чтобы процедур виделись из других модулей или из главной программы, надо, чтобы они были объявлены в interficeной части. У Паскаля такой подход - внутри одного модуля процедуры объявлять не нужно (за исключением одного случая) ну, а вот если нужно, чтобы эти процедуры могли вызываться извне этого модуля, то их надо обязательно объявлять в интерфейсной части.
Все сделано для экономии кода. Нет объявленной процедуры - не будет ее и в заголовке скомпилированного кода.
P.S. На самом деле Паскаль очень красивый язык.