Tras mirar y remirar y no ver ningún error en mi código (un día entero mirando y remirando ) He emprezado a hacer un pequeño proyecto para enviarlo a la lista de gambas como Bug y al simplificar el código (que se había reducido a éso):
Se me ha ocurrido testear la estructura de la tabla y me he encontrado con que en algún momento (durante algún traspaso de datos desde CSV, supongo, que esa tabla proviene de otra base de datos MySQL) le había desaparecido la clave primaria que era, en su origen, el primer campo.
Restaurado el campo como Primary Key, todo vuelve a funcionar perfecto.
En otras palabras: Ojo con las actualizaciones en SQLite de las tablas sin clave primaria.
Ahora comprendo por qué hay programas gestores de bases de datos que en el momento que detectan que no existe tal clave, declaran la tabla como "No Actualizable"...
Moraleja: Poned SIEMPRE clave primaria a todas vuestras tablas (y aseguraos de no perderla en los traspasos de una base a otra, claro)
No lo subo a la lista porque el comportamiento de gambas es correcto, él envía la sentencia sql correcta, es SQLite el que se comporta de manera tan peculiar.
Saludos.