Dein Programm hat aber einen Main
VCL Thread für Eingaben und Ausgaben auf deinem Formular. Daher müssen deine Threads in erster Linie mal mit diesem Thread synchronisiert werden.
Du kannst Threads synchronisieren indem du TThread.Synchronize aufrufst und als Argument eine parameterlose Prozedur übergibst, die dann dein Bitmap läd.
edit: Grade mal gegoogelt und einen sehr informativen Text auf englisch gefunden:
Multithreading with Delphi: Basic synchronisation