Добре :-)
Първо виж процедурата ReadM.
Там двата цикъла трябва да ги въртиш до m, а не до n.
Нали това ти е вътрешната променлива за размера на масива.
 
Честно казано позабравила съм в Паскала как стои въпроса с глобалните променливи, но доколкото n е глобална, можеш изобщо да не я предаваш на процедурата.
Ако искаш, пробвай.
Имам предвид процедурата ти да си остане както е в момента, само да й махнеш първия параметър.
 
Нещо такова:
  Код:
 function MinElement(var mi, mj: integer; var X: Masiv2): real;
var
 i, j, lo, hi: integer;
 y: real;
begin
 if mi < n then
 begin
  y := X[mi + 1,mj];
  for i := mi + 2 to n do
  begin
   if (mi + mj - i + 1 > 1)
    then lo := mi + mj - i + 1
    else lo := 1;
   if (mj - mi + i - 1 < n)
    then hi := mj - mi + i - 1
    else hi := n;
   for j := lo to hi do
    if (X[i,j] < y) then y := X[i,j];
  end;
  MinElement := y;
 end
 else MinElement := X[mi,mj];
end;  И в главната:
  Код:
 begin
 write('n = '); readln(n);
 ReadM(A);
 for i:=1 to n do
  for j:=1 to n do
   B[i,j] = MinElement(i,j,A);
  
 WriteM(B);
end.