Esistono vari tipi di variabili, quelle globali e quelle locali.

Ridefinendo anche nella procedura "inizia" le variabili m ed n , queste vengono ad assumere valori solo in quella variabile e non vengono portati all'esterno.

prova a fare così:

cambia da :
Procedure inizia (n,m:integer);
a :
Procedure inizia;

cambia da :
inizia (n,m);
a :
inizia;

In questo modo non ridefinisci le variabili locali, in modo che vengono assunte come variabili globali (in quanto dichiarate sotto program elezioni

Prova così