as I can see, the whole ioctl-Interface, used by hdparm isn't supported any more by current kernels (2.6.23.X).
instead, ata_cmd_ioctl should be used, but it doesn't seem, that hdparm is prepared to us it in any way...
so, is there any alternative to get/set parameters of sata-disks at the moment?
usning 2.4-kernels with modern hardware is mosly unsufficent, because of modern controllers, which have no support within these kernels...
hdparm has been working fine using the SAT interface for over a year now. If it is not working for you, then either your copy of hdparm is too old, or your kernel is too old.
Time for an upgrade, if you really need those features.