as I have already said (several times), the file is opened, the record is written, the DB is closed (with SQL.Close), no exception.....
It is understandable that it sounds like we're not hearing you when you say you've closed the file, but at the same time, the symptom sure looks like: that file is not closed.
A scenario that matches both observations is: perhaps the file is not closed straight away. Is it possible that SQLite does some operations asynchronously? Or perhaps there is a delay with Android between the file being closed by one process/thread and the file timestamp change being visible from another. Perhaps the writes are buffered/sequenced for performance (agreed: elevator sequencing doesn't really make sense for a non-mechanical disk, but... who knows?). Perhaps your program is outrunning flash memory write speed.
What happens if you insert a Sleep in-between the SQL.Close and reading the file timestamps? Try 10 seconds, 1 second, 100 ms, 10 ms.
For safety in Activity_Pause a second SQL.Close command (normally it do nothing)
That observation is compatible with the above hypotheses.
Now i have, after open, write and and close, add a SQL.Initialize and direct after a SQL.Close.
That is plausibly compatible with the above hypotheses too - the SQL.Initialize would probably cause a flush of all pending interactions with the file system, or perhaps it simply takes long enough that it gives enough time for the file timestamp change to become visible.
That's Workaround works, but it's not nice.
I think we're all with you on this! Sometimes a bunch of reasonable actions interact to produce an unexpected side-effect. Ain't programming grand?!?!