Primer consejo: No estás escribiendo PHP, sino SQL. Si un parámetro de entrada se usa como entero, no debes ingresar por él nada que no sean enteros. Nada.
El parámetro "idx" lo estás usando tanto para ingresar "Agregar" como el numero de ID del usuario, y eso es un error conceptual. O es una cosa, o es la otra, pero no debes usarlo para ambas posibilidades.
Además, tampoco lo necesitas como caracter, porque simplemente conque entre el numero, o un cero, puedes contar cuantos registros hay con ese ID y si no devuelve ninguno es que hay qe agregar el usuario (no debe existir jamás un ID cero en la tabla, eso es absurdo).
Por otro lado, a menos que vayas a usar el numero del nuevo usuario fuera del SP inmediatamente, y no se cierre la conexión a la base en ningún momento, no conviene usar variables de usuario global de MySQL, sino locales del SP.
Si lo que necesitas es recuperar el ID generado, simplemente le pones un SELECT numUsuario al final, y la ejecución del SP te devolverá por resultado el numero generado.
La idea sería mas o menos así:
Código MySQL:
Ver original SET numUsuario
= numUsuario
+ 1; INSERT INTO Usuarios
(id
, nombre
, apellido
, edad
, genero
, ciudad
, estado
, pais
) VALUES(numUsuario
, nombrex
, apellidox
, edadx
, generox
, ciudadx
, estadox
, paisx
); apellido = apellidox,
edad = edadx,
genero = generox,
ciudad = ciudadx,
estado = estadox,
pais = paisx