What determines whether S.M.A.R.T. data can be retrieved from an external USB drive?

According to this answer to pass the SMART commands through to the hard drive SAT (SCSI ATA Translation) is used.

Thus, only if your enclosure supports SAT and your software knows how to send the commands (i.e. for OS X you need the kernel extension mentioned in that answer) you can get the SMART status of the external drive.

Although this may not be the only option to get the SMART status, as I could not retrieve the SMART status for a drive in an enclosure using a Sunplus Technology USB to SATA bridge in OS X - but from the same combination of HDD and enclosure I could successfully get the SMART data using Windows XP and HDDScan (see Appendix A on that site for supported controller chips)