Вы просто забыли использовать процедуру, которую описали. Она есть, но вы ее не использовали, а в "z" изначально лежит "0".
const m: array [1..4] of integer = (76, 126, 216, 252);
var i, x, y, z: integer;
procedure nod (a, b: integer; var c: integer);
begin
while a<>b do
if a>b then a:=a-b else b:=b-a;
c:=a
end;
begin
x:=m[1];
for i:=2 to 4 do
begin
y:=m[i];
nod(x,y,z);
x:=z
end;
writeln ('НОД=', x)
end.