in reply to (Ovid) Re(2) 1: Committing database transactions with DESTROY
in thread Committing database transactions with DESTROY

I think it more likely that your database handle is cleaned up before you destroy $self. Which makes your commit fail.
  • Comment on Re (tilly) 3: Committing database transactions with DESTROY