Me parece que hay un problema con ese codigo. Si tengo, por ejemplo, 5 registros:
1 - Pedro
2 - Juan
3 - Alberto
4 - Matias
5 - Tito
Ese codigo funciona bien, devuelve 6.. pero que pasa si ahora yo borro los dos ultimos?
1 - Pedro
2 - Juan
3 - Alberto
Devuelve 4, que no es correcto... pues mysql conserva el valor del id mas alto que tuvo aunque se haya eliminado, y utiliza el siguiente, en este caso 6.
Nunca lo use y no estoy seguro si funciona antes del INSERT, pero creo que la salida esta en
LAST_INSERT_ID + 1
"SELECT LAST_INSERT_ID()+1 AS proximo_id FROM tabla"
Saludos.