En realidad, nunca probe si el rollback funcionaba, pero recuerdo que en vb6 al crear un COM+, al archivo de la clase le daba la propiedad que fuera transaccional y con eso funcionaba perfecto.
La otra opcion seria hacer tradicionalmente el manejo del commit o rollback
De todas maneras yo juntaria en un solo procedimiento, aunque deberia funcionar igual asi como está.
Voy a investigar y te cuento a que llegue.
Asi obligaba a que fuera transaccional
Código:
<Transaction(TransactionOption.Required)> _
PublicClass clsPruebaCOM
Inherits ServicedComponent