umm parece más un problema para torpes que para expertos pero la ironia es grande pues es verdad este problema existe y es lo que esta pasando con nuestro amigo RicardoU, les explico el problema:
El desde el panel de administrador con un login de Administrador se de alta a un nuevo usuario, despues de que los datos se han ingresado a la base de datos , la variable de la session cambia por la del usuario nuevo.
Es decir si el administrador tiene una variable de sesion de nivel(o jerarquia) con un $_SESSION['level'] = 4; como super administrador y crea una cuenta de un usuario que tendra un $_SESSION['level'] = 2 o inferior, digamos sea la de un MODERADOR, el caso es que cuando el termina hacer la activación de la cuenta de este nuevo usuario, el termina cogiendo el valor de nivel ingresado en este caso sin login alguno en termina en una nivel de Moderador, vale decir con menos privilegios.
En si cuando yo me encontre con este problema me di con la sorpresa de que estaba usando de una manera desordenada mis variables de session y las consultas que hacia con la base de datos, es por eso que en una linea enontre algo asi:
Código PHP:
$_SESSION['level'] = $_POST['nivel'];
Es por eso que cuando se insertaban los datos dentro de la base de datos, adicionalmente se hacia este cambio a mi variable de session, es por eso que al final terminaba con un nivel de MODERADOR.
En el caso de mi amigo debe de estar pasando lo mismo pero con la diferencia que este tal vez esta cogiendo los valores del formulario.
Espero que haya quedado claro, pues bueno al menos yo entiendo asi este problema.