Ok, so I've just spent an hour trying to recreate the old problems I have
(without the PARSE_DECLTYPES), and I am unable to.
I know for sure that I was occasionally getting strings back when I expected
a datetime() object, because I had a test in the code that would report
that, and it stopped reporting after I started using the PARSE_DECLTYPES
when you added the driver_args={} parameter in February.
So either there was some other bug that was fixed in the meantime, or it had
something to do with the data that was already in my sqlite, or I'm not
remembering what triggered the problem.
I spent an hour or so reviewing dal.py (including historical versions), and
can't see a way for strings returned from the database to escape to the
caller and not be converted by parse().
And as I can't produce a test case that shows this is needed, I apologize
for the trouble; as it does change the semantics (e.g., it supports
microseconds if already stored in the database, unlike before the change),
it is probably wise to back this out until I manage to recreate the problem.