Recently I had a problem with a XenServer in my office. XenCenter would no longer connect. The XenServer was using DHCP and had switched IP addresses. The cached credentials were on the old IP address.
I could not remember the password since it had been automated for so long. Without success I tried to get in but eventually had to search the web.
Found a really good location at http://xtravirt.com/how-reset-root-password-citrix-xenserver-5. Within a few minutes the server was operational from XenCenter.
The instructions seem a bit alien at first. The catch is to run the menu.c32 command quickly when prompted early in the boot. After some extra selection, you get the ability to set the password using passwd.
It appears to work for all versions of XenServer at version 5 or above.
Yes, you need physical access to get this to work.