WD external drive suddenly bonks on my Mac

Whenever I connect my WD1600XMS (a 160gb 2.5″ USB-powered external drive) to my Mac, it now takes 10+ minutes for it to mount, and even then it only mounts after some prodding. I initially formatted the drive using my Mac (FAT32), but have since used it many times back-and-forth between my Mac and PC. After only a week of owning the thing the drive has become unusable from my Mac, but is fine on my PC.

Immediately after connecting the drive I see the following error on the console:

Nov 4 14:43:47 WeeMonkie diskarbitrationd[40]: unable to mount /dev/disk1s1 (status code 0x00000047).

The drive light then flashes for about 5 minutes, and then the drive’s status information appears in Apple System Profiler:

USB High-Speed Bus:

Host Controller Location: Built In USB
Host Controller Driver: AppleUSBEHCI
PCI Device ID: 0x00e0
PCI Revision ID: 0x0004
PCI Vendor ID: 0x1033
Bus Number: 0x5b

External HDD:

Removable Media: No
Detachable Drive: Yes
BSD Name: disk1
Version: 1.04
Bus Power (mA): 500
Speed: Up to 480 Mb/sec
Manufacturer: Western Digital
OS9 Drivers: No
Product ID: 0x0702
Serial Number: xxx
Vendor ID: 0x1058

If I then refresh Apple System Profiler, the drive lights flash for another 5 minutes and then the drive finally appears on the desktop.

There’s only about 20gb of data on the drive, but there are a ton of files… Does MacOS suck at handling FAT32? Is it trying to cache the entire file table before it mounts the disc?