Applications must finalize all prepared statements and close all BLOB handles associated with the sqlite3 object prior to attempting to close the object. If sqlite3_close() is called on a database connection that still has outstanding prepared statements or BLOB handles, then it returns SQLITE_BUSY.
It works like a charm. I've now got a dedicated query (fExec) for insert, update and delete, and one only for select. I've put in a couple of questions for you, if you don't mind ;)To answer your questions.