By viewing the top of the exception details only, you can notice that you have a version mismatch. The code is trying to cast the same type (OracleCommand) from different versions of the DataAccess.dll: 188.8.131.52 vs 184.108.40.206:
[A]Oracle.DataAccess.Client.OracleCommand cannot be cast to [B]Oracle.DataAccess.Client.OracleCommand. Type A originates from 'Oracle.DataAccess, Version=220.127.116.11, Culture=neutral, PublicKeyToken=89b483f429c47342' in the context 'Default' at location 'C:\Windows\Microsoft.Net\assembly\GAC_64\Oracle.DataAccess\v4.0_18.104.22.168__89b483f429c47342\Oracle.DataAccess.dll'. Type B originates from 'Oracle.DataAccess, Version=22.214.171.124, Culture=neutral, PublicKeyToken=89b483f429c47342' in the context 'Default' at location 'C:\Windows\assembly\GAC_64\Oracle.DataAccess\126.96.36.199__89b483f429c47342\Oracle.DataAccess.dll'. at
Both of the DataAccess.dll seems to come from the Global Assembly Cache, so now the question is why your code references two different versions. I assume that posting the code that performs the actual invocation (GetApplicationXmlDataSelectionFactory.cs at line 37) might provide more information.
Edit: By viewing the rest of the exception, it seems that the error originates in the IoC framework you are using (MbUnit) - it loads the wrong version of the DataAccess DLL in reflection.