When you change the current kernel in a diskless template, the initrd image gets updated and gets a new size. However, the ramdisk_size parameter sent to the kernel doesn't get updated. So if the new initrd is larger, things go south.
fixed in 0.1.42