Solucion encontrada!!
Si se utiliza dos dataset distintos o dos datatables distinto dentro del ambiente de transaccion lo considera como si fueran dos origenes de datos distintos , por la cual lo considera como si fuera una transaccion distribuida.
Para ello se utiliza el cordinador de transacciones de windows DTC , pero no esta habilitado completamente.
3.4.4 MS DTC no está totalmente habilitado en Windows
Puesto
que el Coordinador de transacciones distribuidas de Microsoft (MS DTC)
no está completamente configurado en Windows, las aplicaciones podrían
no conseguir dar de alta los recursos de SQL Server Express en una
transacción distribuida. Este problema puede afectar a servidores
vinculados, consultas distribuidas y procedimientos remotos almacenados
que utilicen transacciones distribuidas. Para evitar este tipo de
problemas, debe habilitar completamente los servicios de MS DTC en el
servidor en el que haya instalado SQL Server Express.
Para habilitar MS DTC totalmente:
-
En el Panel de control, abra Herramientas administrativas y, a continuación, haga doble clic en Servicios de componente.
-
En el panel izquierdo de la Raíz de la consola, haga clic en Servicios de componente y expanda Equipos.
-
Haga clic con el botón secundario en Mi PC y, a continuación, haga clic en Propiedades.
-
En la ficha MSDTC, haga clic en Configuración de seguridad.
-
En Configuración de seguridad, seleccione todas las casillas de verificación.
-
Compruebe que el nombre de la Cuenta de inicio de sesión DTC esté establecido en NT AUTHORITY\NetworkService.
Conclusion , no conviene usar datasettipados en un ambiente de transacciones , se complica un poco.
Que cagada que el todo el programa usa dataset tipado.
En fin , por lo menos aprendi un poco de transacciones.
Les dejo un link para aquellos que quieran aprender un poco del tema.
El primero usa transacciones implicita manejada por el framework,
http://www.codeproject.com/useritems/TransactionScope20.asp
El segundo transacciones explicitas
http://www.codeproject.com/cs/database/transactions.asp