OK I got him fixed
Took me a little while but I found the problem, and honestly it didnt stand out at all.
When you open regedit and go to
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
"Shell"="explorer.exe"
Just like it should. So since it showed the right value I didn't touch it. I then loaded up process monitor and watched everything that explorer.exe touched when starting up.
When explorer.exe got to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon and looked at the shell vaule it got something different!
Process monitor reported this
Type: REG_SZ, Length: 24, Data: explorer.exeL
Notice the L at the end of it, but I double checked regedit and there was no L.
So in regedit I went ahead and changed the shell value to explorer.exe1 and saved it then changed it back to explorer.exe and saved it. I did this to force regedit to write the value.
Then I started explorer.exe and the desktop appeared. I have no clue why regedit wasnt showing the L, but when I changed the value it corrected it and started working.
I am adding that shell value to the next update of Windows Repair, so if it happens to anyone else WR will be able to fix it
Shane