Il file nomedb.journal contiene le modifiche al DB che il driver SQLite deve ancora trascrivere nel DB stesso. Sparisce quando tali operazioni sono eseguite.
Tornado al tuo programma, ti suggerisco di aprire la connessione solo quando devi eseguire l'operazione e di chiuderla subito dopo, onde esser sicuro che l'operazione venga effettivamente eseguita. Poi, l'Update io nel tuo codice lo metterei nel blocco condizionale, così che venga eseguito solo in concomitanza con il comando Db.Create.
Inoltre, che cos'è quella funzione Int2file? Sei sicuro che non generi qualche errore?
Dalla documentazione di SQLite (
http://www.sqlite.org/lang_transaction.html) si legge che:
1) una transazione è avviata automaticamente ad ogni operazione che modifica i dati del DB per cui non ci sarebbe bisogno, con SQLite, di aprire e chiudere una transazione;
2) se si verifica un errore dopo un DB.Begin, l'operazione è rollbackata in automatico per cui nessuna modifica viene scritta.