The best way of using USB sticks for sharing information between Linux and MS Windows systems is to have them formatted with the UDF filesystem. On MS Windows it's fully supported (read-only on XP, though) while on Linux is much better that FAT monstrosities because permissions and owners are preserved.
To format an USB stick, use the mkudffs
program:
mkudffs -b 512 --media-type=hd /dev/{full disk device}
You also probably want to delete all partitions in the stick to avoid it being wrongly detected.
Someone said these UDF-formatted sticks also work correctly on MacOS (didn't try).