PS: Hatte meine Antwort oben nochmal revidiert.
Delphi übernimmt einfach die Reihenfolge von der
WinAPI und GetMonitorInfo(Monitor.Handle, ...) liefert auch keine zusätzlichen Infos. (nur Primary und die Rects)
Wenn Windows das schon falsch rausgibt, dann kannst da über die TScreen-Klasse nichts weiter machen.
Falls du die Reihenfolge zur Laufzeit geändert hast, dann "sollte" Delphi eigenlich drauf reagieren und die Daten neu einlesen.