There are way too many variables to try to figure out here why this is happening. Instead, try setting the registry values that manage the proxy. To that end, here's part of a VBscript I wrote a long time ago to help set the proxy.
Option Explicit
const HKLM = &H80000002
const HKCU = &H80000001
Dim strKeyPath, strProxykey, strProxyEnablekey, strProxyBypasskey, strSettignsKeyPath,
Dim strProxyValue, strProxyEnableValue, strProxyBypassValue, strComputer, oReg
strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings"
strProxykey = "ProxyServer"
strProxyEnablekey = "ProxyEnable"
strProxyBypasskey = "ProxyOverride"
strSettignsKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings"
strProxyValue = "ftp=proxy.you.co:80;http=proxy.you.co:80;https=proxy.you.co:443"
strProxyEnableValue = 1
strProxyBypassValue = "domains_that_will_bypass_the_proxy;seperated_by_semicolon;test."
strComputer = "."
'set WMI reg access
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
'set proxy enable
oReg.SetDWORDValue HKCU,strKeyPath,strProxyEnablekey,strProxyEnableValue
'set proxy server
oReg.SetStringValue HKCU,strKeyPath,strProxykey,strProxyValue
If you change the appropriate values, you can run this after it's changed to set it back. Also, you can see that the magic of proxy settings happens in "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings"
On a separate note, you can also modify the ACLs for a registry key so that whatever is changing it cannot. But I'd strongly recommend against this because the most likely scenario is that you'd have to remove SYSTEM and you make end up locking yourself out or causing other problems.
Hope this helps.