php.ini
 
session.save_path = .. indica un directorio q exista .. ejemplo c:\php\sesiones 
Guardalo y reinicia tu servidor HTTP q uses .. De paso revisa la directiva: 
session.use_trans_sid = 0 
a 0 indica que vas a propagar el SID en modo automatico .. como así parece q lo usas en tu script ese y la mayoria de aplicaciones PHP q usan sesiones lo hacen ...  
Por cierto:  
 Código PHP:
    echo "<script language=javascript> window.location.href = 'principal.php3?usuario=".$nombre."'; </script>"; 
    
  Si no tienes nada de HTML por arriba de ese código .. usa:  
 Código PHP:
    header("Location: principal.php3?usuario=$nombre");
exit; 
    
  Ya q trabajas con PHP .. envia cabeceras HTTP directas al navegador .. no hace falta q lo hagas via javascript ... 
Un saludo,