In the initdg4odbc.ora you have commented out the HS_FDS_SHAREABLE_NAME. This should point to an ODBC driver manager unless the ODBC driver can handle all the functions.
What happens if you set the parameter to point to an ODBC driver manager ?
If you still have problems then setting DG4ODBC tracing at level 255 mau show aht is causing the problem.
To do this in initdg4odbc.ora set -
HS_FDS_TRACE_LEVEL = 255
and run a select from a new SQLPLUS session, then end the session.
The tarce will be in the gateway $ORACLE_HOME/hs/log directory.
Coudl you also post the gateway listener.ora file.