Old topic I know, but seems to be the only one the search came up with.
What I've done:
php_pdo.dll
php_pdo_odbc.dll
Note: PHP 5.2 fixes a couple problems with PDO ODBC. Make sure to update if you haven't already.
System DSN with the SQL Server driver.
Windows NT Authentication.
Client Connect: TCP/IP.
Set permissions on the DB for the IUSR (box runs IIS6).
With the default DB set, my connection is simply $db = new PDO('odbc:SQLDSN');
I've tested with transactions, prepared statements, and simple queries. All seem to work well. Especially a test I did with a large number of prepared inserts and bound variables.
From what I've read on it, (there's not much on PDO and MSSQL unfortunately), the PDO MSSQL driver is based off the older driver which was already based on the old DBLIB library. It worked well with our older MSSQL 2000 database, but after moving to MSSQL 2005 and PDO, I've found ODBC to be the best bet.
I do hope though that the PDO MSSQL is updated, expecially as PDO is updated and more features are added.