Ich habe nun aus den verschiedenen Antworten und Lösungsansätzen von Euch eine für mich funktionierende Lösung gefunden. Wie von ChrisE vorgeschlagen arbeite ich nun mit den ListView.Column[x].Tag in Verbindung mit dem SetIndex (ListView.Column[x].Index := x) um mir die Spaltenreihenfolge zu merken bzw. pro Benutzer wieder zu setzen.
Die direkten
API-Aufrufe von "ListView_SetColumnOrderArray" und "ListView_GetColumnOrderArray" habe ich aus dem Code verbannt.
Mit Euren Ideen und Vorschlägen habt Ihr mir Alle zu den richtigen Denkanstössen verholfen. Teilweise ist man einfach etwas "festgefahren".
Vielen Dank an Euch Alle!