A ver:
SQLite no es una base de datos con tipos definidos. Se guía por lo que ellos llaman "afinidad de datos" cuya definición exacta no recuerdo ahora mismo. Respecto a la fechas, el manual dice:
SQLite no tiene un tipo de dato dedicado a las fechas/horas. En su lugar los valores de fecha y hora se pueden almacenar como:
a) Una cadena de texto con cualquiera de los siguientes tipos comprendidos en la norma ISO-8601:
YYYY-MM-DD
YYYY-MM-DD HH:MM
YYYY-MM-DD HH:MM:SS
YYYY-MM-DD HH:MM:SS.SSS
YYYY-MM-DDTHH:MM
YYYY-MM-DDTHH:MM:SS
YYYY-MM-DDTHH:MM:SS.SSS
HH:MM
HH:MM:SS
HH:MM:SS.SSS
b) El número de día Juliano incluyendo fracciones de día desde -4713-11-24 12:00:00
Por ejemplo: 2460825.09444444
c) El formato de Unix, que el número de segundos transcurridos desde 1970-01-01 00:00:00
Por ejemplo 1748528160
A ésto hay que sumar que Gambas tiene sus propios formatos y maneras de manejar las fechas. No voy a explicarlo aquí porque ya está mejor explicado por Benoit aquí:
https://gambaswiki.org/wiki/doc/date
Este de abajo está traducido por google:
https://gambaswiki-org.translate.goog/wi...r_pto=wapp
Dicho ésto, Guizans, y sin haber probado tu código, básicamente creo que es correcto. Sólo quedaría tener en cuenta que la función Date( etc) hace un tipo de conversión (no recuerdo si a la fecha local o a la absoluta) que tal vez sea la fuente del problema... si es que no lo es que el servidor tenga establecido un idioma y el cliente otro o algo así.
Sea como sea con SQLite es así, puedes poner una cadena de caracteres y se lo traga, o un número y también. De hecho, en SQLite todo es texto a la hora de grabar y sólo se divide en tipos a la hora de leer... un poco caos. El eterno dilema entre libertad y seguridad.
¿Que qué te aconsejo? Según tus aspiraciones. Si aspiras a manejar base de datos, si aspiras a escalar tus programas a otros motores de BD, usa los formatos fijos, tal como lo haces. Si sólo quieres SQLite... pues lo que más cómodo te sea.
Saludos