That's awesome guys - thanks for pointing out the basic syntax was incorrect (/bonk myself for not seeing that difference to start with).

On a related note, could it also be due to having spaces between separators? There's another one that is similar we have used for years, and it seems to perform just fine, but I noticed there's no spaces. Maybe this is the way Kixtart passes the string/ints properly?

i.e.:
WriteValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\1","1406",0,"REG_DWORD")

See? That one works fine. Is this mentioned anywhere in the docs about requiring/not requiring certain syntax (spaces, no spaces, quotes, no quotes, etc.)?