When removing an external USB hard drive, it's not enough to unmount the volume---you also need to flush the hardware cache and spin down the drive. (This is the difference between "ejecting" and "safely removing" a drive on Nautilus.) However, all that Thunar does is eject the drive (g_drive_eject()). It ought to also have an option to stop the drive (g_stop_drive()), or it ought not to tell a user that it is safe to remove a drive that is still spinning.
Thunar is using _stop() now.