Wäre es aber nicht sinnvoll, wenn du über asynchronen I/O auf die Änderung warten kannst? Wie ich es verstanden habe, ist ja das
Handle innerhalb der besagten Funktion noch im Gebrauch, während du es schließt. Aus Treibersicht könnte das dann allerdings auch blocken.
Umgehen könntest du das ganze ja, wenn du mit moderaten Schritten wartest (z.B. auch auf den aktuellen Thread wartest, also über seine Beendigung informiert würdest). Dann müßte es eigentlich möglich sein, CloseHandle normal zu benutzen.
Naja und bei Threads benutze ich persönlich in Delphi auch immer lieber die
API-Variante. TThread ist einfach nicht das Gelbe vom Ei.