I realize this topic is old, all be it still alive, but has anyone considered that Windows is just doing its job and Steam isn't recognizing it? Steam launches myriads of programs, both games and installer executables. In theory, any one of these could be calling old execution APIs that don't entirely work with UAC and resulting in crashes when elevated privileges are required for execution. Since Steam is the parent application it gets flagged by windows as needing special treatment to allow UAC to request elevation requests from the user instead of just crashing, even if this crashing is limited to one of Steam's children. By implementing this registry entry windows is not elevating Steam's privileges, rather it is flagging Steam.exe as needing special API treatment so UAC can properly request privilege escalation when Steam.exe or its children need it. The deletion of the registry entries seems to work by virtue of no longer confusing Steam of it's compatibility mode but at the expense of UAC compatibility.
Google "Using the ElevateCreateProcess Fix" to read an MSDN article on the fix and why it exists.
I opted to allow windows to put steam on its ELEVATECREATEPROCESS list to help sort out potential future setup problems and because, from what I've read, it is not a security threat, rather it is intentional design to handle process creation API incompatibilities.
If my theory is correct, then either Steam should recognize what windows is trying to do specifically with respect to this scenario, or Microsoft should implement a solution to UAC-compatibility for non conforming executables. The former of which seems much more feasible.
I only have a fair understanding of some of these bits so be sure to correct any misconceptions =). I'm just trying to get at the root of the problem to be sure that just deleting some registry entries is indeed the proper course of action.