Hallo Tobias,
ich fürchte du bist auf der Jagd nach einem Phantom. Da ist kein Vergleich auf NULL nötig in deinem Code. Sowohl WNetAddConnection2() als auch RegConnectRegistry() liefern einen Fehlercode (DWORD oder LONG). Der einzige sonstige Ausgabeparameter ist das Key
Handle bei RegConnectRegistry(), welches du später wieder mit RegCloseKey() freigeben sollst. Der Maschinenname kann als Leer-String angegeben werden - PChar() ist dann NIL. Das erfordert aber keine andere Vorgehensweise im inneren deiner Funktion.
Und wieder machst du eine Netzwerk-Funktion zu einer Methode deiner Form...
Gute Nacht