I don't know why you want to impersonate a user to check membership of a group. I think that the following will work with UAC on or off:
Public Shared Function IsLocalAdmin(ByVal userName As String) As Boolean
Dim MyIdentity = New System.Security.Principal.WindowsIdentity(userName)
Dim MyPrincipal = New System.Security.Principal.WindowsPrincipal(MyIdentity)
Return MyPrincipal.IsInRole(System.Security.Principal.WindowsBuiltInRole.Administrator)
End Function
It should not be a pre-requisite of your program to turn UAC off.