Okay, it's not really clear to me why you're having trouble with the transactions. They aren't any different from vanilla DBI, and I use them after updating multiple records in the same way I would with straight DBI commands. Maybe you're using InnoDB and getting tricked by the confusing isolation level settings it uses? Many people have trouble with that. Data committed in one process can't be seen in other processes until they commit. I change the isolation level to something more like Oracle or Postgres to get around this.
Anyway, you're more than welcome to bring the issue up on the Class::DBI mailing list, especially if you can give a more precise description of the symptoms you're seeing.