Just wondering why you changed the MasterPubKey?
Line 500
-const std::string CSyncCheckpoint::strMasterPubKey = "02334512c0d7a9a69289c4b7ad1c76e5330ef9dacd9da912c91a853986bddf0434";
+const std::string CSyncCheckpoint::strMasterPubKey = "02a17252a60bc8e33b7a5e6774448c8d50605ad681bcff93d370544e48f96c67a6";
This is just so I can fault find the source code a section at a time to help out as best I can.
He did that because the original was ShadowCoin's key, and they didn't have the private key. Which also would seem to indicate they don't have a checkpointing node running. Proof of stake coins are centralized. The reason this was a big deal is because the holder of the private key, the keymaster, can enforce whatever version of the blockchain they want as the main fork. The keymaster could go off, generate a parallel blockchain, then pop a checkpointing node on the network and orphan the old chain.
I don't run wallets on windows otherwise I'd look, but one thing to do is turn on debug logging (debug=1 in your conf file) and see what is logged out when it blows up.
Anyway, potential popcorn time averted for now it would seem, until the next crisis.