What does your guest config look like now that you have resolved the
pygrub issue?
Can you provide a full log of the failing boot with a vif enabled to the
point of the hang?
What does "brctl show" say while the guest is running (with the vif
enabled)?
What does "xenstore-ls -fp" show while the guest is sat waiting?