If push comes to shove this will work. I've had the same problem(s) from NT to Solaris myself.
I've had to give the complete description in the "using" part of the create db_link statement.
So it ended up looking like this:
Create public database link epro
connect to epro1 identified by password
using '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)
(HOST = Solaris host-name)(PORT = 1521))
(CONNECT_DATA = (SID = sid name from solaris)))';
(The description is from the database you are trying to connect to, in this case its the SUN Box).
This has and is working for me.....