It sounds like your current version is similar to
Ima::DBI, which is the basis for Class::DBI
so your transition could be quite easy. I'm a fan
of Class::DBI and have tried Alzabo (which I suspect
Class::DBI is evolving into, they just added column
objects). I think Alzabo tries to do too much, YMMV.
I use MySQL with Innodb tables when I can, I just
need transactions. That's when I can't ditch the
RDBMS entirely. There seems to be such a mismatch
between schema oriented and strongly-type databases
and Perl.
Regarding stored procedures vs perl logic, read
Domain Logic and SQL for a language neutral consideration of the problem.
The article points out a few cases where you'd want to
go one way or the other but boils down to
"Choose based on your company resources and culture"