To test if it's the drive, or the mounting that's the problem, as root, create a directory, /mnt/usb then add a line to your /etc/fstab, also as root.
/dev/sd<whatever> /mnt/usb vfat rw,user,noauto,exec,umask=000,iocharset=utf8 0 0
Replace <whatever> with the drive letter and partition number correct for that partition. Press the Enter key to start a new line, then save the file.
Plug in the drive, power on (if it has a separate power connection) ignore the pop ups if any, then open a terminal as your normal user, and enter;
$ mount /mnt/usb <Enter>
Open konqueror if on KDE3, or dolphin if on KDE4, and navigate to /mnt/usb. Try to create a new directory or file. If you can, it was only a permission problem. If, in spite of the settings, the drive is mounted read only, there may be corruption in the file system and it needs to have a filesystem check run on the unmounted partition to correct the problem.