Bueno, hasta ahora es que he podido hacer algunas pruebas. A reserva de confirmalo más tarde, lo que puedo ver hasta el momento es que el problema no está en SQLite, sino en Lázarus.
Si guardo una imagen BMP en una tabla de SQLite usando el
SQL Administrator,
no puedo leerla con una aplicación Lázarus con el código esbozado anteriormente.
Sin embargo, si esa misma imagen la leo con una aplicación Delphi (usando ZEOS), la leo sin problema, tal como debe ser.
De aquí concluyo que el problema está en Lázarus. De hecho, si guardo la imagen que leo desde Lázarus en un archivo y examino el archivo con un editor binario, veo que su contenido no tiene nada que ver con el de la imagen original.
Habrá que estudiar si algo estamos haciendo mal con Lázarus o si es simple y llanamente un
bug.
Seguiré probando...
// Saludos