Bueno gracias a todos por las repuestas. Para redondear el asunto, hemso diseñado componentes que nos permitian interactuar con las tablas y generar codigo sql automaticamente. Y como dice Alvaro, tambien iniciabamos-cancelabamos la transaccion en el momento del OK-Cancel. Pero el asunto iba en un cuadro donde ibamos ingresando despachos, de una venta entonces a medida que en dialogo se insertaba un linea con una cantidad de producto despachado, se tenia que ir disminuyendo lo pendiente (esto me permitia luego poner restricciones en los controles para asignar las cantidades, asi no se podia despachar mas de lo que realmente queda pendiente). este tipo de dialogo de ingreso de datos aca lo conocmemos como maestro-detalle lo que es muy comun como en cualquier sitio. La única incomodida es mantener los datos de los descargos , con las muchas combinaciones de posibles situaciones, al borrar ingresar i modificar registros de entregas que puedan o no estar en la base de datos o en memoria.
Es obvio que en esos casos no vamos a poder utilizar la generacion de codigo "genérica" si no se va atener que tratar caso por caso lo que nos demandará mas tiempo, aun asi analizaremos la opcion de un timer para la transaccion. Todo pasaba mas por una forma de ahorrar horas de programacion. Gracias por los comentarios, al menos tambien se que no hay limites al tiempo de mantener una transaccion.
