Also mal zur Erklärung:
Wenn du Remotedesktop verwendest wird für die Anmeldesession am Server ein virtuelles Display und eine virtuelle Tastatur erstellt. sobald die Remote Verbindung getrennt wird scheitern alle Autoit Funktionen, die auf diese virtuellen Geräte zugreifen, da sie nur während einer aktiven RDP Session existieren. Es macht schlichtweg keinen Sinn Bildschirm und Tastatur bei einer inaktiven (getrennten) RDP Verbindung zu simulieren, daher wird das von Microsoft auch nicht getan. Beim Minimieren des Fensters passiert ähnliches, die virtuellen Geräte werden abgeschaltet (vergleichbar mit Standby) um unnötige Bandbreite der RDP Verbindung einzusparen, denn dein Client braucht schlichtweg kein Bild und keine Tastatur, wenn du den Client nicht aktiv nutzt, weil minimiert.
Dein Script würde am lokalen Rechner ebenfalls scheitern, wenn du den Rechner sperrst oder auf einen anderen Benutzeraccount wechselt. Dein Account und das Script laufen zwar dann noch im Hintergrund, aber Display und Tastatur sind nicht mehr mit diesem Account, sondern mit dem anderen Account oder dem System Account (Anmeldebildschirm) verbunden.
Wenn dein Script abhängig von der Auflösung ist können Änderungen zur Laufzeit ebenfalls Probleme machen, diese hättest du aber auch lokal am Rechner, wenn du die Bildschirmauflösung einfach änderst solange das Script läuft. Das lässt sich Programmtechnisch aber evtl. fixen indem du in Intervallen (oder besser auf ein Windows Event) die derzeit verwendetet Auflösung prüfst und dein Script dynamisch darauf reagieren lässt. Einfacher ist es aber auf den Vollbildmodus der RDP Verbindung zu verzichten und diese auf eine feste immer gleich bleibende Auflösung einzustellen.
Warum passiert das nun nicht auch wenn du über KVM Lösungen des Serveranbieters auf den Server zugreifst? Hierbei verwendest du eine sogenannte Konsolensitzung, d.h. die Anmeldesession ist nicht rein virtuell, sondern identisch mit einer Anmeldung direkt am Server per angeschlossener Tastatur und Maus. Windows geht in solch einem Fall davon aus, dass Monitor und Tastatur nur dann nicht gebraucht werden, wenn der Server in den Standby wechselt, was bei Server Betriebssystemen in der Regel deaktiviert ist. Die Bildschirmauflösung der virtuellen Verbindung ändert sich hier in der Regel auch nicht, da KVM oder VNC Clients maximal einen Softwarezoom anbieten, die eigentliche Auflösung des Displays aber nicht anfassen (sieht man daran, dass bei Größenänderungen das Bild unscharf wirkt). Die Regeln für den Sperrbildschirm oder Benutzerwechsel gelten aber auch hier... Display und Tastatur ändert den Fokus auf einen anderen Account und dein Script scheitert.
Mögliche Lösungen für dich:
1. Verzichte auf jegliche Art von simulierten Tastatureingaben und Bildschirmabhängigen Funktionen. In deinem Script Ausschnitt sind das alle "send" Befehle... ersetze diese durch Alternativen der Excel UDF und dein Problem ist gelöst
2. Teste wie oben beschrieben ob eine RDP Verbindung mit dem Paramater "console" zum selben Ergebnis führt wie bei einer KVM Sitzung:
"mstsc -v:MACHINE_NAME /F -console"
3. Verwende Alternativen zu Microsoft RDP für den Serverzugriff. Das Stichwort ist VNC. Auch hier hast du in der Regel eine Konsolensitzung wie bei der KVM Lösung des Serveranbieters, bist aber nicht auf einen Webbasierten Client hierfür angewiesen.