Hallo,
Ich fühle mich genötigt, meine Theorie zu verteidigen 
Die altehrwürdige BMS.exe rechnet demnach einfach linear einen Befehl nach dem anderen runter (single-thread), während modernere Multithreading-fähige Programme verschiedene Aufgaben (KI, Flugmodell, 3D etc) in unterschiedlichen Threads rechnen, die parallel auf unterschiedlichen Prozessoren laufen können. Verwaltet wird die Zuweisung Thread-zu-Prozessor durch das Betriebssystem (also Windows), diese ist üblicherweise dynamisch.
Zu beobachten ist dies, wenn man sich die BMS.exe im Task-Manager ansieht. Die .exe läuft nicht durchgehend auf ein- und demselben Kern, sondern wird hin- und wieder mal von einem Prozessor auf einen anderen Kern geschoben. Windows merkt, daß BMS einen ganzen Kern vollständig zu 100% belegen will, und versucht, BMS daher einen möglichst "freien" Kern zuzuweisen.
Mit dem "festtackern" auf einen bestimmten Kern verhindert man dieses Verschieben, allerdings (irgendwo im BMS-Forum gelesen) zu dem Preis, daß es einem passieren kann, daß irgendwelche anderen Prozesse von Windows auf den BMS-Kern mit drauf geschoben werden können - im Ergebnis muss sich dann bisweilen die BMS.exe den Kern dann mit anderen Prozessen teilen - auch nicht ideal.
Der grundsätzliche Tenor im BMS-Forum war eher, das festtackern zu lassen, so in der Art: "lass mal Windows machen, das macht das schon ganz gut"