Modifying the login.bat to use Elevate.exe to call KIX32 does the job.

Writevalue works with UAC turned on from a login

As the website does a poor job explaining, here is my batch file for reference if other need this solution. I am arranging to copy Kix32.exe and Kixforms.dll to a local c:\KIX folder in the main login script, which most probably do not do, but you should be able to deduce any changes you needed for your own environment.

The biggest issue involved the use of absolute paths on everything. That is not unexpected as run as administrator messes with your executing path.

 Code:
@ECHO OFF

IF EXIST %SystemDrive%\KIX\KIX32Current.txt GOTO LOCAL
GOTO REMOTE

:LOCAL
%0\..\elevate -c %SystemDrive%\KIX\Kix32 %0\..\RLCMAIN.KIX -f
GOTO END

:REMOTE
%0\..\elevate -c %0\..\Kix32 %0\..\RLCMAIN.KIX -f

:END



Thanks very much for the help.