Bom, pessoal não sei exatamente como fiz mas agora está funcionando, caso alguém esteja com o mesmo problema faça uma copia de segurança do arquivo "sqlite3conn.pp" que no windows fica no diretório "C:\lazarus\fpc\2.6.0\source\packages\fcl-db\src\sqldb\sqlite", abra o lazarus, va no menu Arquivo/Fechar todos os arquivos do editor, depois abra o "sqlite3conn.pp" pressione Ctrl +f e pesquise por "DoInternalConnect" altere a procedure para que fique da seguinte forma
procedure TSQLite3Connection.DoInternalConnect;
var
str1: string;
begin
if Length(databasename)=0 then
DatabaseError(SErrNoDatabaseName,self);
InitializeSqlite(SQLiteLibraryName);
str1:= databasename;
checkerror(sqlite3_open(pchar(str1),@fhandle));
//Acrescente apenas as duas linhas seguintes autor Martin Schreiber
if Params.IndexOfName('foreign_keys') <> -1 then
execsql('PRAGMA foreign_keys = '+Params.Values['foreign_keys']);
end;
Salve as alterações vá no menu Executar\Construir arquivo, reinicie o Lazarus, vá até o seu componente TSQLite3Connection, clique sobre ele, atraves do Object Inspector vá em Propriedades/Params e digite
foreign_keys=on
Espero ter ajudado
“Você deve ser a própria mudança que deseja ver no mundo”
Mahatma Gandhi