A recent update to xen-3.0.0 added some logic to /etc/init.d/xend to shutdown manually started domains (i.e. not auto-started ones).
Unfortunately, this logic doesn't filter Domain-0, resulting in it being stopped and the proper shutdown sequence for Domain-0 doesn't complete. This leads to LVM and filesystems etc. not being terminated in the correct manner.
A subsequent boot requires repair of Domain-0 filesystems during fsck.
xend stop does:
/usr/sbin/xm shutdown --all --wait >/dev/null
If either of these is killing your dom0 it's a bug in xen and should be reported upstream at http://bugzilla.xensource.com
Nothing xm or xend do should result in domain 0 shutting down. Please reopen this bug if you find that there actually is something wrong with the init scripts.
You may be interested in http://permalink.gmane.org/gmane.comp.emulators.xen.devel/18835 and http://permalink.gmane.org/gmane.comp.emulators.xen.devel/18832
Maybe one of your domains is named 00...?
My domains are: austin (Dom0) and pablo, tasha, tyrone and uniqua (DomU).
The DomUs are started from /etc/xen/auto and were shutdown by /etc/init.d/xendomains so the domain shutdown logic in /etc/init.d/xend shouldn't have been executed, unless:
1) 'xm list' output something other than a header and Domain-0 line
2) when 'xm list' was executed the termination of one or more DomUs wasn't complete (as far as xm list knows?)
In the meantime, I've modified the 'xm list | wc -l' to tee its output into a file for analysis after another failure.
The only other thing I can think of mentioning is that I run my Xen domains under screen. I don't know if that would have any bearing on what's happening.