I have the same problem.
I'm using Oracle Database 10g Release 10.2.0.4.0 (Windows 2003 Server R2 EE SP2) with heterogeneous services to connect via dblink to SQL Server.
I use this commands but I have multiple instances of HSODBC.EXE. Whenever I make a select, after I commit the transaction and close dblink I have a new instance of this process. It will never disappear.