If you find a legitimate bug in SQL Server, you can open a support ticket, and Microsoft will fix it. Frequently these fixes will make it into the next service pack, or if they're severe, a Windows update. This is all at no (extra) cost to you.
In speed tests I've seen using ODBC be as much as 10x slower than npgsql in talking to PostgreSQL. I didn't look into why, and just used ADO.Net.