Hola WadE87, cómo vas??
Creo que tu problema es por la ubicación como tal del
mysql_insert_id.... Esta instrucción te trae el último id_ingresado y en la ubucación que lo tienes pues no te trae nada...
Prueba así;
Código PHP:
mysql_query('BEGIN');
$sql1="INSERT INTO usuarios (id, alias, clave, privilegios, mail, dni, valido, aleatorio) VALUES (".$id.",'".$usuario."','".md5($clave)."', 1, '".$mail."', '".$dni."', 0, ".rand().")";
mysql_query($sql1,$conexion) or die(mysql_query('rollback'));
$id=mysql_insert_id();
.
.
.
Espero te sirva...
Saludos