I had this problem too. It turned out the external drive was using the FAT32 rather than NTFS file system, and Windows XP didn't like it. I converted the drive to NTFS and now it works fine.
To find out which file system you are using, go to My Computer, highlight the problem drive and look at the information pane on the left (if not available, right click the drive and select 'properties'). Next to 'File System' it should tell you which file system the drive uses- FAT or NTFS.
If it is FAT32, you might need to convert it to NTFS (there is a very small risk of data loss so if you have anything really important on the drive, back it up).
Open the command prompt by clicking Start -> Programs -> Accessories -> Command Prompt.
Type: convert drive letter
For example: convert d: fs:ntfs (if your drive letter is d).
If it asks you if you want to dismount the drive, select yes. If it asks you for the volume label, type the label of the drive as seen in the My Computer window before the drive letter- ie in Local Disk (C:) the volume label is 'Local Disk'. Windows will now convert the drive to NTFS, and it should work okay.
Hope this helps,
Edited by jezburns, 16 June 2008 - 09:10 AM.