in reply to SQLite select not returning all rows

As Autocommit is off you are required to finish every transaction with a commit or rollback. Unfinished transactions e.g. upon disconnect will not be committed.
$dbh->do ("DELETE FROM managers WHERE id = '$self->{myId}'"); $dbh->commit(); # <===== add this line $dbh->disconnect ();
So just add the commit to your destroy code.

Update: looks like you found out in parallel :-)