I veri guai li scopri quando compili in modalità full release e lanci il programma fuori ambiente, e il comportamento in apparenza "assurdo" di windows scompare. Per esempio race condition su variabili condivise e deadlock possono verificarsi in release mode e non in debug mode.
Tra l'altro la VCL ha vari oggetti per gestire i thread (a iniziare da TThread se non ricordo male), ed è scritta in Pascal (che probabilmente ha meno paturnie del C/C++ sotto questo profilo). Se non hai necessità strane, ti consiglio di usare il framework del compilatore.
Per inciso, CRT significa C RunTime.