BUG hatte die Lösung. Lade ich beide Dateien direkt hintereinander, geht es ohne Probleme.
Es muss tatsächlich an irgendeinem Code dazwischen liegen.
Dummerweise mache ich zwischen den eigentlichen beiden Aufrufen der LoadMTL Prozedur nichts anderes, als die geladenen Daten mittels
OpenGL zu rendern. Aber dabei wird ja eigentlich nichts an dem Record bzw an dem array geändert, denn das Rendern ist ja ein reiner Lesevorgang.
Übersehe ich dabei etwas?
TRXHead.Materials wird in einer anderen Lade-Prozedur zugewiesen(da sich der Wert in einer anderen Datei befindet), welche vor der LoadMTL() prozedure aufgerufen wird.
Ich könnte auch anbieten, dass ich Interessierten den Code per Email zukommen lasse, damit dort ein Blick hineingeworfen werden kann. Ich möchte den Code allerdings leider nicht öffentlich teilen.