Вот что я тебе скажу.. Хм.. Я сам не пробовал в TDataModulе ставить сокет. Подозреваю что проблема в нём. А может и в том что сокет в длл. Короче

при создании сокета вероятнее всего в конструктор поступает нил, или указатель на экземпляр библиотеки, а для него это не есть хорошо и он требует экземпляр приложения. хм.. Но это лишь мои домыслы.
На практике сделал так: (рабочий вариант)
Код:
var
s : TServerSocket;
begin
AddLog('Starting server...');
// ServerSocket1.Active:=true;
s:=TServerSocket.Create(self);
s.Port:=21734;
s.Active:=True;
AddLog('Server started');
....
end;