Primero de todo, usa las etiquetas code, se lee mejor.
Tienes una funcion, que creo que no funciona nunca, porque me parece que el try...except falla siempre.
Si te fijas, le estas pasando el clientsocket como variable:
Código:
function configureSocket(Puerto:Integer;
var ClientSocket:TClientSocket;
PcName : String;
ByIP : boolean = False): boolean;
Pero un poco despues, lo creas
Código:
ClientSocket := TClientSocket.Create(nil);
Y las salir, no lo liberas.
Como no se que es lo que tiene que hacer esa funcion, no te puedo ayudar mas, pero parece que te sobra la linea para crear el ClientSocket.
Tampoco has puesto como llamas a la funcion.