Keine Ahnung, ob ich was anders mache, aber bei mir wurden die Rechte bei ShellExecuteEx schon immer vererbt, ob mit oder ohne
UAC. Ich habe diese Erfahrung mit meinen "Installer"-Komponenten gemacht, bei der 3 separate Programme beteiligt sind und eines davon die anderen beiden startet. Ist Programm A elevated gestartet und ruft via ShellExecuteEx Programm B, so ist auch B elevated. Und bei RunAs gilt das sowieso, weil alles als komplett anderer Nutzer läuft.
MfG Dalai