Here is a simple config file that you can use to start your Windows server.
kernel = "/usr/lib/xen/boot/hvmloader"
builder = 'hvm'
memory = 512
name = "xen04"
vcpus=1
pae=0
acpi=0
apic=0
vif = [ 'type=ioemu, bridge=xenbr0' ]
disk=[ 'phy:/dev/mapper/lmv1-xen04,ioemu:hda,w','file:/usr/src/WinServ2k3-1.iso,hdc:cdrom,r','file:/usr/src/WinServ2k3-2.iso,hdd:cdrom,r' ]
device_model='/usr/lib/xen/bin/qemu-dm'
#cdrom="/usr/src/WinServ2k3-1.iso"
# c for hdd, d for cdrom
boot="c"
nographic=1
#vnc=1
#vncviewer=1
#stdvga=1
serial='pty'
Note the nographic, vnc, vncviewer and stdvga options. You WILL need to modify then to do the setup using VNC, but when your VPS is up and running, best is to totally disable VNC an use the nographic=1 option, and to use "remote desktop" (windows standard tool that comes with all versions of windows) or "rdesktop" (under Linux, works really well), as the VNC server integrated in Xen is very slow and the mouse is pretty badly emulated.
The hard drive emulated here is a FULL hard drive, not just a partition. So windows will be able to do the partitioning inside your LVM slice. Then you will NOT need to format the partition before the setup, the setup of Windows will do it for you.
See the boot= option that you can change to boot from the CDROM or the hard drive. For making the .iso, you can use a simple cat </dev/cdrom >my-windows.iso it works well.
With this, you should be able to manage all situation. One last word still: the VNC password is in /etc/xen/xend-config.sxp and you might want to change as well this
(vnc-listen '0.0.0.0')
so you can connect to the outside. This is normally located at the very end of the config file. You WILL need to restart xend to have these options to take effect.