Hi,
fixing this issue takes about two minutes as edson suggested, so why is it taking so long?

For impatient ones, here is a workaround working on DOA 4.1.3.5 Standard and Delphi XE6 20.0.15596.9843:

Code
unit MyOracleData;

interface

uses OracleData, DB;

type
  TOracleDataSet = class(OracleData.TOracleDataSet)
  public
    function PSExecuteStatement(const ASQL: string; AParams: TParams): Integer; overload; override;
    function PSExecuteStatement(const ASQL: string; AParams: TParams;
      ResultSet: Pointer = nil): Integer; overload; override;
  end;

implementation

function TOracleDataSet.PSExecuteStatement(const ASQL: string; AParams: TParams): Integer;
var
  d: TDataSet;
begin
  d := nil;
  try
    Result := self.PSExecuteStatement(ASQL, AParams, d);
  finally
    d.Free;
  end;
end;

function TOracleDataSet.PSExecuteStatement(const ASQL: string; AParams: TParams;
      ResultSet: Pointer = nil): Integer;
var
  d: TDataSet;
begin
  if ResultSet = nil then
    d := nil
  else
    d := TDataSet(ResultSet^);
  Result := self.PSExecuteStatement(ASQL, AParams, d);
end;

end.

Classic interceptor Delphi pattern, just add MyOracleData to uses clause after OracleData.