IMO, create two (or more) data access components, each specialized for the data store that you're accessing. As long as each provides the same interface, you're application shouldn't care what the actual data store is.
>Also, I'll sneak another question in here...one can connect to a backend database in ADO.NET one of two general ways...SQLCONNECT and OLEDBCONNECT. I've been told SQLCONNECT is faster...where specifically would one see measurable performance differences?
Are you referring to the two namespaces System.Data.SqlClient and System.Data.OLEDb? It has been reported that performnance is better when using the objects within the SqlClient namespace TO ACCESS SQL Server. The objects in this namespace will only work with SQL Server 7.0 and up.
-Mike