Supponendo che tu possa metterci le mani, per quanto riguarda il MAX_COL puoi usare una variabile globale da impostare dopo la prima fscanf del main (dato che non puoi modificare gli argomenti della funzione è l'unico modo):
codice:
...
fpin = ApriFile("r");
fscanf(fpin, "%d %d %d", &r,&c, &dominant);
MAX_COL = c;
...
In AllocateMemory devi mettere un paio di parentesi in più:
codice:
if ( ( m = (int *)malloc(sizeof(int)*r*c) ) != NULL)
o non compila proprio (a me almeno)