Thanks Keith. I downloaded Dependency Walker. In the top left window I've got SQLITEFCTS.DLL highlighted. The bottom panel shows Error: At least one required implicit or forwarded dependency was not found. Warning: At least one delay-load dependency module was not found. The middle left panel has a string of modules the first 5 of which are API-MS-WIN-CORE-APIQUERY-L1-1-0.DLL API-MS-WIN-CORE-APPCOMPAT-L1-1-0.DLL API-MS-WIN-CORE-APPCOMPAT-L1-1-1.DLL API-MS-WIN-CORE-APPINIT-L1-1-0.DLL API-MS-WIN-CORE-ATOMS-L1-1-0.DLL The first 90+ have errors all of which are "Error opening file. The system cannot find the file specified (2)." showing on the middle right. On the top right lower panel there are 2 listed under Function _sqlite3_sqliteFcts_init __CPPdebugHook. I tried calling sqlite3_load_function with the entry point parameter set to "_sqlite3_sqliteFcts_init" (i.e. underscore before sqliteFcts) and it's now working. It would therefore seem to be a name wrangling thing but I'd like to get shot of the anomaly if possible. Use of _cdecl before the sqlite3_sqliteFcts_init declaration doesn't remove it. Edit: Since posting the above I've discovered that the initial underscore is only required when compiled as 32 bit. For 64 bit it works as expected. This applies regardless of debug or release mode.