This is not much of a meditation, just a note to other DBD::SQLite users who manage to tickle the paradoxical "not an error" error. I found it while calling $dbh->do with empty sql (in my defense, a split was involved).
perl -MDBI -e 'DBI->connect("dbi:SQLite:a.db")->do(" ")' DBD::SQLite::db do failed: not an error(21) at dbdimp.c line 403 at -e + line 1.
DBD::SQLite 1.14 in this case.

While I'm on the topic, this error:

prepare_cached(INSERT INTO ...) statement handle DBIx::ContextualFetch +::st=HASH(0x5758914) still Active at Ima/ line 381
using DBD::SQLite 1.14, Class::DBI 3.0.6, Ima::DBI 0.34 can be resolved with the patch from mschwern on RT#25071. 3 is the magic number.