A good idea? no. Possible? yes.
I think mixing these interfaces should work pretty well up to a point, where e.g. nested transaction (some ns_db and some dbi transactions) are used. Not sure about the semantics in such cases.
Note that ns_cache_transaction_rollback is just implemented for the OpenACS nsdb interface (undo cache operations that happened during a transaction).
For heavy OpenACS work, nsdb is recommended.