Buenas @makina!
Quisiera comentar que el tema tiene mas de 5 años de antiguedad, además de que en tu respuesta veo algunos inconvenientes:
- Hasta ahora, no se mencionó que hubiera problema con el bloqueo de tablas, hasta en tu mensaje
- Establecer el nivel de aislamiento de esa manera podría ocasionar otros problemas... sobre todo con la arquitectura de Interbase
- Puede ser que IVAND o cualquier otro que leyera este post no se diera cuenta que, si esta instrucción tuviera éxito, leería datos de transacciones que incluso no han sido confirmadas (commit), y quizas necesite un mayor nivel de aislamiento, por ejemplo, para que el resultado sea consistente
- No recuerdo ya claramente si Interbase 6 soporta ese nivel de aislamiento, pero creo que el mas bajo que soportaba era READ COMMITTED
- La forma de cambiar el nível de aislamiento de la transacción varía de capa de conexión a capa de conexión: no es igual en BDE que en IBX que en DBX
Un saludo.