Maybe the long winded script wasn't for nothing then, I wanted to use my script again in a later mod as part of a quest condition and I really couldn't overlook the minor problem.
There was another global variable I came across PlayerIsVampire, can't find where I wrote it down but you can do a console check for it's value, silly thing just returned 0 the whole time.
You must have a mod that modifies (i.e. screws up) the PlayerVampireQuestScript.pex. It definitely sets that global to 1 when the player becomes a vampire, and back to 0 when he's cured. I've confirmed this by loading saves from before a character became a vampire, while they were a vampire, and after being cured (using 'show PlayerIsVampire'). It checks out.
You can also check if your character has the Vampire keyword attached in the console with 'player.haskeyword a82bb'. a82bb is the formID for the Vampire keyword. I did this as well, as above. Also checks out.
Checking either the global or the keyword should do the trick.