<form ... onSubmit="controlla();">

il form viene inviato comunque, sia che il controlla dia come output vero o falso.


<form ... onSubmit="return controlla();">

Il form viene inviato solo se il risultato di controlla e` true, altrimenti non parte.


Se alla fine di controlla deve fare partire controllaImg(), e ti serve che il form parta solo se il risultato di controllaImg() e` vero, puoi fare cosi`:
codice:
function controlla() {
   ...
   if (qualcosa non va) return false;
   ...
   return controllaImg();
}

function ControllaImg() {
   ...
   if (qualcosa non va) return false;
   ...
   if(tuttoOK) return true;
}
Spero fosse questo che chiedevi.

Ciao
Michele