I disagree about flexible types. SQLite bills itself as a better fopen, not as a full on database engine. If you have data sitting outside your application, trusting it to be well typed is just going to cause trouble. If your database is the application, that’s a different story.
I’d rather have the INSERT fail than to discover it later when I’m trying to do math with a string, but to each their own.