During registration, a xen guest sends up the fields:
virt_type = 'para'
virt_uuid = 'somehash'
We use these to identify the guest as a xen guest.
In rhel 5.4, the client will also send up:
smbios = SOMEHASH
We look in the hash for other details to find out of the guest is a KVM guest.
If the client sends up both, smbios will trump xen info, so we won't recognize the xen guest as a guest.
Can you test the Para and Full Virtualization Xen guest that you referred to in comment #2?