So, ich habe das Problem gelöst. Es lag an
BeginThread. Diese Funktion verwendet
CreateThread intern anders, als es von
MSDN beschrieben/empfohlen wird. Ich habe daher...
result := System.BeginThread(nil, 0, FProcInst, Parameter, 0, ThreadID);
...durch...
Delphi-Quellcode:
System.IsMultiThread := true;
result := Windows.CreateThread(nil, 0, FProcInst, Parameter, 0, ThreadID);
...ersetzt und siehe da, es funktioniert nun alles wunderbar mit der Parameterübergabe.