La funzien controlloemail() ha un problema, ma non per questo dovrebbe impedire la funzione successiva.
La funzione popupform, invece, ha un controllo che non capisco, e che quindi ho tolto (poi quando il resto funzine puoi provare a reinserirlo).
Ho aggiunto degli alert, che tipermettono di verificare se la successione delle operazioni e` corretta.

codice:
<script type="text/javascript">
function controlloemail(myform){ // form e` parola riservata
  var email = myform.email.value;
  if (email.indexOf('@', 0) == -1 || email.indexOf('.', 0) == -1){
    alert("L'e-mail inserita non è valida!")
    myform.email.focus();
    return false;
  }
  return true;
} 

function popupform(myform, windowname) {
  //if (! window.focus() ) return false; // nota i cambiamenti
  alert("sto per aprire la finestra");
  window.open('', windowname, 'height=480,width=640,scrollbars=yes');
  myform.target=windowname;
  return true;
} 
</script>
Ciao
Michele