Il caricamento delle immagini è asincrono rispetto alla dichiarazione dell'array. Devi assegnare una funzione di onload a ogni immagine che crei, la quale incrementi un contatore a ogni chiamata e che faccia scattare la funzione successiva (drawScreen()) appena il contatore delle immagini caricate raggiunge il numero degli elementi dell'array. Qualcosa come:

codice:
var contatore = 0;

function tuaFunzione () {
  if (contatore++ === img.length - 1) {
    drawScreen();
  }
}
e poi nel tuo codice fai così:

codice:
img[i] = new Image();
var imgName = "immagine" + i + ".jpg";
img[i].onload = tuaFunzione;
img[i].src = imgName;
devi inoltre rendere l'array img globale e rimuovere la chiamata drawScreen() dalla tua funzione.