@knuckey: I'm using this exact script in an event option while having a dead Duke Otto of Bavaria being the real father of Heinrich in the 1066 vanilla scenario and it seems to have the desired effect.
So it seems like you manage to have a special scenario where it breaks or we messed something up with the patch.
Code:
real_father_even_if_dead = {
ROOT = { set_father = PREV }
}