If the filesystem is old or "corrupted", that may be the reason why you can see it in XP but not Vista.
I would suggest this so that you start clean:
1) Transfer all the data on the external somewhere else temporarily, like another PC or another HDD.
2) Perform a low-level format (not a quick format) to the drive in either NTFS or FAT32.
3) Copy all data back to the external and try the drive in Vista again.
This same issue can occur after a certain number of writes to a flash drive.