Die
VCL ist nicht threadsafe und das bekommst du mit deiner ShowMessage zu spüren. Nimm eine MessageBox und du solltest sie sehen. Zu deinem anderen Problem, was willst du eigentlich machen? Warum übergibst du dem Thread nicht gleich eine Liste der abzuarbeitenden Dateien?