though I've never used FreeTDS, I know that DBI emulates placeholders for databases that don't support them natively
Unfortunately DBI doesn't - however some drivers emulate placeholders (for example DBD::MySQL).
In the case of DBD::Sybase it is written with the Sybase libraries in mind, and in that situation will handle placeholders just fine. The problem is that FreeTDS isn't (yet) a complete implementation of the TDS protocol, and the reverse engineering problem is compounded by the fact that Sybase and MS have implemented placeholder handling differently.
However, there is hope - I understand that the next release of FreeTDS may support placeholders correctly.
Michael