En el paso 1 lo unico que estas haciendo es leer toooodos los registros de la tabla y despues solo contarlos.
$id = $num+1;
No te almacena una id de usuario, sino el total de registros en la tabla mas uno.
Para verificar que no se dupliquen nombres de usuario lo correcto seria:
Paso1
Código PHP:
Ver original$sql = "SELECT id_sql FROM tabla WHERE campo_de_nombre_de_usuario = 'nombre que se quiere registrar'";
// Nombre de usuario ya registrado!!!
} else {
// Todo bien, continua el proceso
}