I digged some more, I'm comming closer to an explanation. It's not only vif which is failing. If I comment vif= in VM's config, either vbd (file:..hda) or tap (tap:aio:..xvda) fails.
udev and supposedly other programs have some issues here as I used yum --installroot=/data/vmname/loop/ to install virtual machines manually, without any installer. Some rpm's postinstall scripts have probably altered the dom0 instead of installroot's directory.
Maybe I should have used rinse (@xen-tools.org) instead of my own script (MAKEDEV -d and yum --installroot) although I think the postinstall scripts shouldn't alter the underlying system when --installroot is specified. Anyways, how to fix udev ? rpm -ivhF (and -ivhf) + udevd/haldaemon restart didn't help. Note xen-backend.rules is in place.
P.S. playing with udev made the machine unavailable during a few seconds (when dealing with the network interfaces I guess), but then continued.