The closest thing I could try recommending here would be running tools like PROCMON in the special native mode for troubleshooting issues like boot up problems. That said, I do NOT know whether it can help with boot-up time BSOD's. That's a very tough time to get useful logging out of the OS, sadly.
A reboot before the "actual" Provisioning task does make a lot of sense & is usually a part of BKM (specifically because users tend to leave things open, as you discovered, plus it gives Windows a solid chance at writing out a bunch of "Pending File Rename" stuff).
There's nothing magical about what we do with the reboot per se (it's a call to a Windows shutdown API). You'd think if THAT causes BSOD's then so would/should a regular reboot (again - we're not doing anything special sauce as far as the reboot is concerned).
Approaching this logically - your first priority is finding out what's going wrong with the OS at boot-up. Whatever information you can pull from the bricked systems - great (does "safe mode" or so work? What about the debug logging mode (which I don't tend to find overly helpful myself usually). Boot-time BSOD's are a massive pain in the back-end due to the pain in extracting information as to WTF is actually happening ... so the options are rather thin on the ground.
But if you can find out where / why the OS is bricking itself over a humble reboot, that may start with the breadcrumb trail on where this needs to go.
<And yes, I'm equally headscratching on that one - never seen anything like this in my 20-odd years in the IT industry... >
Sorry I can't help much.