It has nothing to do with lazarus itself, it is the package that is broken or easily broken for many years. For sqlite, plz use sqldb and the sqlite3 connector, that is way more stable and totally different code. I know how to fix the problem: it is a design time load and versioning problem. The best way out is to use static linking, but that is uncomfortable for most. The other way out is to try and merge the sqlite3 code for sqldb into the old sqlitedb code.
Again: sqlitedb is broken for years and most would even say deprecated. You really have to know what you are doing to get it working. It is not very comfortable to use, because of various design issues.
But if you want to use sqlite 2 it is still the only option, since there is no sqldb connector for sqlite 2. (sqlite 2 is much lighter at less than 100k)
BTW if you use it from code, so no design time component, the issue magically disappears..in most cases. Be aware of that.
This old package is written with too many assumptions by the author. It is those assumptions that breaks it for many.