Hi,
1)
Es geht in etwa so ab:
Ich führe, z.B. chrome.exe aus. Diese startet und gibt mir eine PID zurück. Chrome bemerkt dann, dass der Browser schon läuft, sagt ihm bescheid, dass ein neues Fenster benötigt wird und beendet sich selbst. Der Parent aller Browserfenster wird dann ein neues Fenster öffnen, natürlich mit anderer PID. Das meine ich mit PID-Wechsel.
2)
Also bei mir ist explorer.exe nur einmal vorhanden, auch ersichtlich mit ProcessExplorer (Win7x64). D.h. nicht nur "ändert" sich die PID, sondern es gibt sogar nur eine einzige. Ich habe noch nicht ausprobiert, wer der letztendliche Papa ist, aber vllt. ist dies ja der Desktop

.
Edit:
Und ja ich mache es so, wie du es beschrieben hast.
Bloß muss ich dann noch den Parent des Fensters finden, da ich sonst z.B. ein Handle von Default-IME bekomme, dass ich natürlich nicht möchte.