Пишем в список системным потоком. Но читать и записывать в базу уже нужно только параллельным потоком, и запись может длиться даже когда новые данные уже будут хотеть добавиться в список. А потом произойдет очистка (по синхронизированному событию) и они тоже очистятся, так и не исполнившись? Да и еще я получу ошибку доступа к данным если будет одновременно и запись и чтение?
Направьте мою мышку опытной рукой к нужным компонентам

Add(DoData,10372767,203,175)
{
link(onEventData,7160791:doAdd,[])
}
Add(Memo,7160791,259,175)
{
Left=5
Top=5
}
Add(SQLite_Exec,921486,252,238)
{
link(SQL,7160791:Text,[])
}
Add(Thread,9353554,154,238)
{
link(onExec,921486:doExec,[])
link(onSyncExec,7160791:doClear,[(241,251)(241,188)])
}
Add(Timer,12076826,154,175)
{
link(onTimer,10372767:doData,[])
}