Gracias por la respuesta, lo hago así por que es un modulo el que se esta programando y la estructura de la base de datos ya esta, es decir no fui yo quien dispuso esa manera de controlar el numero de orden siguiente.
Eso de la función fue lo primero que pensé, pero ahí si no me quedaría duda sobre la posibilidad de obtener un numero incorrecto (por estar fuera de la transaccion) o tambien la posibilidad de crear otro campo a la tabla control para que me indique si alguien esta usando ese umero consecutivo, por eso hago ese select dentro de la transaccion, basándome en la definición siguiente:
Cita: BEGIN initiates a transaction block, that is, all statements after a BEGIN command will be executed in a single transaction until an explicit COMMIT or ROLLBACK is given
Por lo cual entiendo que todas las sentencias incluyendo el select se ejecutaran como una misma, creo que mejor tendré que esperarme a que tenga esta parte funcional y hacer las pruebas con dos o mas meseros al mismo tiempo...
Prometo postear los resultados en cuanto los tenga.
P.D.T. No al hacer el Begin (aunque sea un select) ya se esta bloqueando esa tabla o habría que hacerlo de manera explicita?