Here's my analysis on SpVidInitialize:
1. ZwCreateFile on \Device\Video0
2. Request possible video modes using ZwDeviceIoControlFile.
3. If 720x400, assume Vga, otherwise use Framebuffer.
4. Call display specific code and switch display mode.
5. Setup DBCS/OEM conversion code.
6. Return Ntstatus(STATUS_SUCCESS)
So if anything hooks SpVidInitialize (uSetup.exe, Spcmdcon.sys), you will be trapped there unless you can tap into the Vga registers again and force graphics mode and get Inbv/Bootvid.dll working.
@psc, found out how to wait for process to end and suspend creator process:
NtWaitForSingleObject(processinformation.ProcessHandle,FALSE,NULL);