Die Kernfrage für mich ist, warum das überhaupt über die GUI laufen muss. Eine saubere Schnittstellendatenbank, in die ein Auftrag geschrieben wird, dann ein Agent auf dem Server (agent.RunOnServer) die Daten aus dem Fremdsystem holt und in den Auftrag zurückschreibt und schließlich die Routine aus dem GUI sich dort die Daten abholt, benötigt niemals die mögliche Bekanntgabe eines Passwortes an den Benutzer.
Nächster Vorteil wäre, dass Verbindungen zu den Fremdsystemen nur auf dem Server vorhanden sein müssen, und nicht auf dem Client. Eine Fehlerquelle weniger und höhere Sicherheit wären das Ergebnis.