ZF-8500: Mysql does not support nested transactions, code ignitor specifically supports this, zend does not (yet)
I noticed if you nest transactions, if the inner transaction commits but the outer transaction rolls back, the changes take effect and ZF does not throw any exceptions or handle that nicely. It appears from this thread (http://codeigniter.com/forums/viewthread/82771/) that CI has a feature that makes it so only the outer commit/rollback takes effect.
This prevented me from testing code that uses Zend_Db & transactions, because my test itself needed to rollback any changes that happened during the test. But the code I was testing had it's own beginTransaction() and commit()
I guess in code ignitor that inner commit() would be ignored.