Болячка довольно старая, можно сказать изначальная.
Как известно потоки в FPC не дружат с GUI.
К примеру такая схема в FPC падает.
Т.е легальное приложение с многопоточностью в пролёте.

https://upforme.ru/uploads/001b/10/a7/2/650622.png

Код:
Add(MainForm,12064639,56,70)
{
 Width=369
 Height=360
}
Add(Button,2168206,126,70)
{
 Left=15
 Top=20
 link(onClick,11191630:doEvent1,[])
}
Add(Memo,3686666,420,112)
{
 Left=115
 Top=30
 Width=100
 Height=275
 AddType=1
 ScrollBars=2
}
Add(Memo,2529294,420,70)
{
 Left=240
 Top=30
 Width=100
 Height=275
 AddType=1
 ScrollBars=2
}
Add(For,9637638,343,112)
{
 End=500
 link(onEvent,3686666:doAdd,[])
}
Add(Hub,11191630,196,70)
{
 link(onEvent1,15209979:doStart,[])
 link(onEvent2,5421242:doStart,[(242,83)(242,118)])
}
Add(Thread,15209979,273,70)
{
 Delay=1
 FastStop=0
 link(onExec,12812207:doFor,[])
}
Add(For,12812207,343,70)
{
 End=500
 link(onEvent,2529294:doAdd,[])
}
Add(Thread,5421242,273,112)
{
 Delay=1
 FastStop=0
 link(onExec,9637638:doFor,[])
}

Всё это из за того что в FPC вырезаны низкоуровневые процедуры в RealTime
Если кого это не устраивает может заменить/добавить файлы из этого архива

Единственное то что в FPC не будет работать событие onSyncExec которое в большинстве случаев не нужно