Primero, veo que pones la propiedad Active a True dos veces... cosa que me parece extraña e innecesaria.
Segundo, quizas cuando haces clic en el boton, el ClientSocket intenta conectarse, pero al tratarse de una conexion (o proceso) asincrono, no detiene la ejecucion del programa e intenta mandar texto a una conexion que todavia no ha sido establecida. Intenta poner el codigo que envia el texto en el evento OnConnect del ClientSocket a ver si funciona.
Ah, y corrige eso de Active := true; dos veces