Yet another conclusion: it's a nice idea to pre-render some large chunks of the world at all zoom levels and distribute the resulting SQLite files. Shame no one has done it yet.
An idea worth considering: an empty tile takes 103 bytes as a file + storage overhead of a row in SQLite. At high zoom levels, OSM has lots of those. Maybe it's worth to have one more column in the lookup table to indicate an empty tile and thus process it more quickly?
table tiles (z integer, x integer, y integer, store_filename string, extension varchar(10), unix_epoch_timestamp integer, empty integer, primary key (z, x, y, extension))