Niklas,
My personal feeling is that passthrough commands should simply follow the storage standard exactly, and if a user space application does adhere to the standard, tough luck, why are you using passthrough commands instead of regular commands then? Passthrough commands by definition follow a specific storage standard, and not the Linux kernel block layer API.
Yeah. I'm not sure how much of a problem non-ATA passthrough is for libata-attached devices. But it does seem messy that userland is making these kinds of assumptions.