1) se stai usanto SQLite, il problema non si pone, dato che comunque questo dbms usa sempre e comunque il formato stringa per memorizzare le sue cose. Indi per cui è meglio che tu usi la conversione con Gambas.
2) devi fare attenzione ai numeri in virgola mobile, e alle funzioni di conversione (che sono già stati trattati in precedenza. La funzione CFloat() converte in float un numero contenuto, generelmente, in una stringa, ma questo deve essere espresso in formato USA, ovvero con il separatore "." (punto) per i decimali. Diversamente Val() fà esattamente il contrario, ovvero dipende dalla lingua impostata sul tuo sistema che, presumo, sia Italiano (it_IT), per cui il separatore dei decimali è la "," (virgola).