mi sa che non hai molto presente il concetto di eventi e di scope.
codice:
url_mod = encodeURI(eval("obj.comm"+n_comm+".U_COM_MOD"));
url_canc = encodeURI(eval("obj.comm"+n_comm+".U_COM_CANC"));
img[1].onclick = function() {Richiesta(url_mod);}
img[2].onclick = function() {Richiesta(url_canc);}
quando tu definisci una function(){...} quello che li sta in mezzo NON viene eseguito subito, ma al momento in cui la funzione viene chiamata (al click nel tuo caso), ecco, in quel momento viene lanciata Richiesta, con parametro il valore di url_mod IN QUEL MOMENTO, quindi con l'ultimo che hai associato, non prima.
Io farei una cosa, non molto bella, ma che funziona:
codice:
img[1].onclick = eval ("function() {Richiesta('"+url_mod+"');}");
img[2].onclick = eval ("function() {Richiesta('"+url_canc+"');}");
Così, per JS in img[1].onclick c'è:
codice:
function() {Richiesta('tuo/file.php?arg=1&arg=2');}
e lo stesso per img[2].onclick, ed è fisso non cambia in base al valore delle variabili.