I'm going back a bit here but here's a snip from an old RunOnceEx process I used to use.
Basically, I set everything up the most common way via cmdlines.txt but the only RunOnceEx command I had was to launch a second batch at boot time this batch sort of read like this:
@echo off
cmdow @ /HID
FOR %%i IN (D E F G H I J K L M N O P Q R S T U V W X Y Z) DO IF EXIST %%i:\DVD.ICO SET CDROM=%%i:
SET KEY=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx
REG ADD %KEY% /V TITLE /D "System Updates" /f
REG ADD %KEY%10 /VE /D ".NET Framework 1.1 SP1" /f
REG ADD %KEY%10 /V 1 /D "%CDROM%\Software\System\DotNetFramwork11.exe" /f
REG ADD %KEY%15 /VE /D ".NET Framework 2.0" /f
REG ADD %KEY%15 /V 1 /D "%CDROM%\Software\System\DotNetFramwork20.exe" /f
REG ADD %KEY%20 /VE /D "Java Runtimes 5.0 Update 6" /f
REG ADD %KEY%20 /V 1 /D "%CDROM%\Software\System\JavaRuntimes50u6.exe" /f
rundll32.exe iernonce.dll,RunOnceExProcess
REG ADD %KEY%25 /VE /D "UPX Shell 3.2.1.2007" /f
REG ADD %KEY%25 /V 1 /D "%CDROM%\Software\Compression\UPXShell_321_2007.exe /SILENT /SP-" /f
REG ADD %KEY%30 /VE /D "WinRAR 3.51" /f
REG ADD %KEY%30 /V 1 /D "%CDROM%\Software\Compression\WinRAR351_Setup.exe /s" /f
REG ADD %KEY%30 /V 2 /D "regedt32 /s %CDROM%\Software\Compression\WinRAR351_Settings.reg" /f
rundll32.exe iernonce.dll,RunOnceExProcess
...
Whats happening here is, the reg entries are being written to the registry then executed using this command:
rundll32.exe iernonce.dll,RunOnceExProcess
Every time it's executed your batch has to pause until it's time to add the next set of reg entries then it starts all over again. This includes creating a new RunOnceEx window.
This is exactly the same process used by WPI in the old days when you specified how many apps you wanted displayed per RunOnceEx window.
Hope this helps.