Since when are we supporting Delphi? FMX? FMX is prone to threading problems and does not even work on fpc/lazarus.
Ask on a Delphi forum.
A couple of things to correct the above:
1. If the thread does not listen to the event, it won't stop.
2. Terminate is a request model, it won't stop the thread if it does not listen, it is similar to 1.
3. you can kill a thread permanently the dirty way through its handle.
and
4. FMX, depending on Delphi version is more likely the cause. itself. As opposed to LCL/VCL a lot of threading is going on in the background in FMX and for a proper answer you should ask on a forum with users that are more familiar with fmx than the average Lazarus user. (Although there are some)