u will have to clarify urself about following 3 things:
1)a dll is in process .and it is not necessary that a new object is created every time u refererence a class in the library(dll).it depends on the settings of the dll.

2)I suggest (i repeat only suggest) u rethink about the Model u r implementing ..becuase it doesn't need to be so complicated ..
one solution :
initially let dll A create a object .(i.e open a connection)
dll B and the exe use the same reference ..
look for some of the sample programs on this site and other implementing winsock .. and u mayn't have to code a line

....good luck ...
( of course u might have reasons to shout back at me ...)