Nachteile sind das es nicht Threadsafe sein könnte.
In der
VCL baut vieles auf das Application-Object etc. auf. Wenn man jetzt eine Komponente innerhalb eines Threads erzeugt und diese greift auf das Application-Object zu kann es zu lustigen Effekten kommen.
Die CriticalSection wäre eine Lösung wenn Printers Threadsafe ist (vielleicht ist es das auch, müsste man mal den Quelltext anschauen). Aber wie du schon sagtest macht der Thread dann nicht mehr viel Sinn wenn der Hauptthread plötzlich still steht weil er am Enter einer CriticalSection wartet während der Thread gerade druckt.