UAC funktioniert
nur an Prozeßgrenzen,
ImpersonateLoggedOnUser funktioniert hingegen pro Thread.
Will heißen, daß du bei dem
UAC-Prompt danach einen anderen Prozeß mit erhöhten Rechten hast, der dann irgendwas macht (bspw. Dateien löschen oder Registryänderungen vornehmen). Das sind also komplett verschiedene Szenarien.