USB memory sticks.

Recently I bought a rather nice leather & steel 256MB USB memory stick from Maplin (www.maplin.co.uk). As usual it was advertised as being useable under some sort of windows or other but no mention of Linux or Os X but I bought it anyway. My initial results were diasappointing, it worked under windows xp but very slowly on Os X and under SuSE 9.3 it would mount read only but not read-write. On Slackware 10.2, things were even worse, I just kept getting:-
root@interlink:/# lsusb
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000
Bus 001 Device 002: ID 0ea0:2168 Ours Technology, Inc Transcend JetFlash 2.0 / Astone USB Drive
root@interlink:/#
root@interlink:/# cd /mnt
root@interlink:/mnt# mount -t vfat /dev/sda /mnt/usb/
mount: wrong fs type, bad option, bad superblock on /dev/sda,
       missing codepage or other error
After some hunting on Google related to the chipset and the usb ID number (0ea0:2168), I found a reference to reformatting USB Flash memory. After some concerns that I might destroy it if the format went wrong, I tried the following. (dmesg reported that it's device file was at /dev/sdb):-
root@interlink:/mnt# mkdosfs -I /dev/sdb
mkdosfs 2.10 (22 Sep 2003)
root@interlink:/mnt# mount -t vfat /dev/sdb /mnt/usb/
root@interlink:/mnt# 
root@interlink:/mnt# mount
/dev/sdb on /mnt/usb type vfat (rw)
root@interlink:/mnt#
Success!!
After this, I tried the stick on Os X and xp, on Os X it worked like lightning, both read & write, and on xp is was the same as before. I can conclude that the stick formatting was corrupt, clearly windows doesn't care about this, evedently Os X and Linux is more picky about getting it right.