Not sure about CreateProcess in Win 7, but I wouldn't be surprised if it's default behavior was to spawn the process with normal user level privileges rather than the elevated "admininistrator" privilege level of the spawning process. That would be the secure thing to do.
You might be able to spawn the process with CreateProcess and specify the security descriptor to ensure you get what you want, rather than passing null -- it's not clear from the documentation but I'd give it a try.
That said, it seems that the way Microsoft recommends to do this is to modify the registry, see "Running As Administrator":
http://msdn.microsoft.com/en-us/library/windows/desktop/ms717801(v=vs.85).aspx[
^]
It's possible you could acheive the same effect using CreateProcessAs
(See:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms682429(v=vs.85).aspx[
^])
or using CreateProcessWithLogonW
(See:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms682431(v=vs.85).aspx[
^])
Check it out and see if either of those will let you do what you want.