At first, there was One Version of TDS common to both vendors but, in keeping with the broad history of private ventures, they soon diverged. Each vendor has subsequently brought out different versions, and neither supports the other's flavor. That is to say, each vendor's client libraries use the latest version of TDS offered by that vendor. You can't reliably use Microsoft's libraries to connect to Sybase, or Sybase's libraries to connect to Microsoft. In some cases you'll get a connection, but pretty soon you'll bump into some incompatibility.
Versions of the TDS protocol
The version in use at the time of the Sybase/Microsoft split.
Introduced for Sybase. Because TDS 5.0 includes negotiated capabilities through which protocol features can be expanded, we are unlikely to see a new TDS version from Sybase.
Introduced for SQL Server 7.0™. Includes support for the extended datatypes in SQL Server 7.0™ (such as char/varchar fields of more than 255 characters). It also includes support for Unicode.
Introduced for SQL Server 2000™. Includes support for big integer (64-bit int) and “variant” datatypes.
Introduced for SQL Server 2005™. Includes support for varchar(max), varbinary(max), xml datatypes and MARS.
Introduced for SQL Server 2008™. Includes support for extended date/time, table as parameters.
Introduced for SQL Server 2012™. Includes support for session recovery.
[2] Earlier FreeTDS™ documentation referred to versions 7, 8 and 9. Microsoft subsequently published a protocol specification document denoting 7.1 and 7.2, and one finds scattered references using that scheme elsewhere, too. For that reason, FreeTDS™ switched to Microsoft's nomenclature.