Devi anche definire una variabile dove salvare il Timeout (e forse resettarlo prima di ridefinirlo)
codice:
var time = true; // queste due definizioni DEVONO stare fuori dalle funzioni
var me;

function startDelay() {
  // clearTimeout(me); // non so se questo e` necessario
  if (time) {
    alert("Questo funziona?");
    time = false;	
  }
  me = setTimeout('stopDelay()', 3000);
}

function stopDelay() {
  time = true;	
}
In alternativa, si puo` eliminare la funzione stopDelay e inserire il settaggio della variabile nel setTimeout:

me = setTimeout('time=true', 3000);


Il setTimeout io lo ho sempre usato con la chiamata alla funzione tra virgolette, anche se, stando alle specifiche, la tua sintassi e` corretta.