Solche Sachen wie "MonitorLinks.Breite + ....." und sowas kann man ja total vergessen. Denn nicht jeder hat die Monitore nebeneinander.
Mir wäre nicht bekannt, dass man eine Art "id" des Monitors abfragen kann. Der Desktop ist ein Bereich, der zusammengesetzt wird aus Höhe und Breite aller Monitore. Die Anordnung kann deshalb ja z.B. in der Windows Systemsteuerung explizit angegeben werden. Wenn sich hier etwas ändert wären gespeicherte Positionen natürlich hinfällig (aber mal ehrlich, wie oft kommt sowas vor?). Zut Not kann man hier zumindest noch testen, ob die Dimensionen des kompletten Desktops sich geändert haben und ggfls. die gesicherten Fensterpositionen verwerfen.
MonitorFromWindow
arbeitet auch mit der Fensterposition bzw. genauer gesagt "The MonitorFromWindow function retrieves a
handle to the display monitor that has the largest area of intersection with the bounding rectangle of a specified window".