The sequence is: 1. (returnCode dbHandle)=sqlite3_open("ajay.db",out dbHandle) 2. sqlite3_enable_load_extension(dbHandle,1) 3. sqlite3_exec(dbHandle,"select load_extension('fileio.dll');",0,0,0) After step 3, ajay.db��0 materializes (as a new DB i.e. does NOT have the tables in ajay.db) and all write activity end up in ajay.db��0. <i>Regardless of Unicode or rogue extension DLL</i>, what this means is that dbHandle created in step 1 when ajay.db is opened, is <b><i>inherited/hijacked</i></b> by ajay.db��0 in step 3. To me, that does not make any sense. Any insights?