Interesting question -- let's assume your flash drive is sdc and your ISO is called w7.iso.
I guess the most short and hassle-free answer is to ask if your motherboard supports USB-CDROM style booting, because if so you can just DD the image directly to the raw device:
dd if=w7.iso of=/dev/sdc
If not, you will need ms-sys, and then you will need to do something like the following:
First unmount the USB disk...
Then go into fdisk...
Once you're in fdisk, delete each partition by using
d and then inputting the number of the respective partition. Now create an entirely new partition filling the disk by doing the following sequence:
1, ENTER, ENTER. ENTER. After that check it's done with
p. Now set it as an NTFS partition with
7, and give it the boot flag with
1, ENTER. Finally press w to write the table to the usb stick.
Put the filesystem on the partition by running the following as root:
Now you're going to need to mount the iso as a vnd. To do this, do the following...
mount -o loop w7.iso /mnt/iso
And now mount the USB stick again...
mount /dev/sdc1 /media/usb
Copy everything recursively from the loop mount to the USB disk...
cp -a /mnt/iso /media/usb
Write the master boot record to boot from...
ms-sys -7 /dev/sdc (use -m for WinXP)
And there you go (hopefully).
I tried something similar to this on my Debian machine and it worked, this is a bit of a tweaked version.