This is an old issue from viewtopic.php?f=6&t=61763&p=317810&hilit=terminatethreads#p317810
I thought that I'd covered this off already but recent testing in another area I revealed that it does terminate but it leaves the current message on the status bar.
For example, if I call this from within DEVICE_GetFlag via the dflFullSynchStart constant it leaves the message "Synchronising d_itunes4.dll on xxxxx: (preparing list of files)". Terminating the thread ought to clear the message too.
In Delphi I can see a repeating message "Waiting for SyncroniseDevice thread to terminate" message. Further, if MM is closed in this state it says that there are background tasks running.
... or perhaps we ought to terminate device synchronisation more cleanly than just killing the tasks.

