The "unmanaged" provider is made up of two parts: There's the managed driver- Oracle.DataAccess.dll and the unmanaged client (typically referred to as "Oracle Home"). While I'd guess there could be some mismatch, you're asking the 11g driver to talk to a 10g client and I don't think 10g even supported .net 4.0 (which is the driver you're loading). You may have no choice but to update your server if you want to use .net 4.0 and the unmanaged provider.
That said, if server dependencies are an issue, I would just use the managed provider. The unmanaged provider is a hodge-podge of managed .net assemblies sitting on top of decades old unmanged dlls (Oracle Client). The managed provider is the brand new, from scratch interface that finally abandons the old dependency on the client and truly lets you drop in just a couple of dlls and run.