When to use the SQL Native Client

The SQL Native Client should only be used in certain contexts. This is the definition of when to use it, and when not to.
Written by: Sebastian Affakes

.Net applications

Do not use the SQL Native Client for .Net applications. Instead use the .NET Framework Data Provider for SQL Server (SqlConnection).

COM and all other than .Net applications

Use the SQL Native Client if you are accessing SQL Server 2005 or later and need the new features of SQL Server 2005 or later such as MARS, encryption, XML data type etc.
Continue use your current provider (OLE DB / ODBC through the MDAC package) if you are not connecting to SQL Server 2005 or later or if you are connecting to SQL Server 2005 or later but are not using any of the new SQL Server 2005 or later features.

Summary

OLE DB and ODBC does not support some of the new features in SQL Server 2005 and later. The managed .Net providers does. The SQL Native Client can be seen as a solution to have access to the new SQL Server features from native (non .Net) code. There are no other benefits from using it.

For more details on the differences between MDAC and SQL Native Client, read this msdn article >>