Weve also had various issues in terms of reliability and performance with the MS drivers so we moved to the Oracle ones. I dont think MS really pay much attention to their Oracle drivers, after all if they ran really well people might start moving from Sqlserver to Oracle.
If Microsoft's driver does not allow for the use of bind variables, then definitely use Oracle's driver. Bind variables are very very very important : if you don't use bind variables and the values of your parameters change often, Oracle will hard-parse almost every query, which is a performance killer. For more details on the need for bind variables, you can check Tom Kyte's site here and search for "bind variables" (keep the double-quotes).
I have had no problems using either Delphi and VB with Microsoft's Drivers, maybe there is something else we should look at ?
.. What I will agree with you is that in the rare case of Delphi ( VB no problems ), I have seen statements which binds too many inputs, and you end up having 1 * X statements cached, instead of one, depending on the type of input.
Knowing Microsoft’s mindset, I wouldn't be surprised if Microsoft’s oracle ODBC drivers are deliberately slow and limited. After all, they don't want you to use oracle, they want you to use sql-server. I never use Microsoft’s ODBC drivers, I always download Oracles. They have always been more solid, fast and reliable.
You do not need a parachute to skydive. You only need a parachute to skydive twice.