Start unetbootin, select disk image and choose the ISO file.
A second step is required if you want to have the changes to be persistent: creation of a permanent storage file.
The neat utility TopoResize can be used to create the "permanent storage file".
Grab the tool and create an ext3-formatted file called "live-rw" (no quotes), and place it in the root of the flash disk.
boot the flash disk in safe mode, logon at console prompt and type
sudo mount -t vfat /dev/sda1 /mnt
dd if=/dev/zero of=/mnt/live-rw bs=1M count=600
mkfs.ext3 -F /mnt/live-rw
(replace 600 with your preferred size in MB).
After a reboot you will have a complete XBMC Live bootable disk.
NEW: the changes to the system configuration are being written on the permanent storage file in real time, hence a small amount of flash disk writes occur. If you want to minimize the disk writes there is a new feature that can be utilized: snapshots.
Snapshot files are handled by XBMC Live during startup and shutdown/reboot, no writes to flash disks are performed during runtime.
This means that boot time and shutdown/reboot will take slightly longer due to the changes to be retrieved and saved. However if you don't install/modify/update too many system files the amount of time needed for the snapshots handling is barely noticeable.
Creation of a snapshot file is as easy as creating an empty file called live-sn.cpio.gz in the root of the flash disk. The file will grow according to the amount of files added/changed during runtime.
UPDATE: grub4dos can be used to create a bootable usb disk!
1. Format the flash disk as FAT32 DOS bootable disk
2. Use grubinst to install grub4dos in the MBR
3. Copy all the files from the CD to the flash disk
4. Copy the file /boot/grub/menu.lst from the cd to the root directory of the flash disk.
UPDATE: see post #9 for installing from an USB disk