Вам не нужно изменять System.Data.SQLite, если вы хотите использовать последнюю версию SQLite, просто используйте версию System.Data.SQLite ManagedOnly и затем только замените sqlite3.dll последней версией. Для включения поддержки внешнего ключа я просто выполняю инструкцию sql, которая включает поддержку внешнего ключа. например,
string databasePath = "Your database path here";
string connectionString = "Data Source=" + databasePath;
connection = new SQLiteConnection(connectionString);
connection.Open();
const string sqlString = "PRAGMA foreign_keys = ON;";
SQLiteCommand command = new SQLiteCommand(sqlString, connection);
command.ExecuteNonQuery();