The CRITICAL_STRUCTURE_CORRUPTION bsods have a different cause.
Something (that's a fact) successfully edited critical kernel structures with success in these, which eventually, after non-deterministic (usually long) time, was randomly detected by a patchguard patrol in both CRITICAL_STRUCTURE_CORRUPTION minidumps. (In contrast to modifying non-guarded structures, which would remain undetected, we would never learn about that.)
Technically, this is a security breach. :-D CRITICAL_STRUCTURE_CORRUPTION is essentially a patchguard alarm, which technically is a security breach. I didn't realize this yet, I just thought of the limited practical use.
@edit: it was type 1 code modification, not pdata. That's an interesting turn.
With the type 1 modification patchguard alert, (which indicates pdata *or* code modification), I earlier thought I could safely exclude type code modification, since the cr0 manipulating shellcode failed, ...so I thought. I was wrong.
The patchguard alert is about ndis!ndisOidPreAddWakeUpPattern, because the read-only rx data has been changed right in the middle, beginning in one dump at precisely
ndis!ndisOidPreAddWakeUpPattern+0x6b (relative syntax)
That means it had another and working method at disposal (und used it) to remove the read-only protection. You cannot write to read-only code unless you removed the read-protection successfully before.
The BSODs with critical corruption are late-stage type 1 patchguard alert, code modification, reason unknown. (Ok, but I will really stop here with analysis, sorry.)
No idea to get the thing in flagranti. I don't think I can further help for now, thanks to shellcode.
@edit: don't get too much paranoia, even if it's technically a security breach, chances are that it's just very poorly written software resorting to ring0 code in extremely inproper way.