Si no me equivoco con el propio delphi 7 te viene una demostración de como realizar un chat usando sockets. Compruebalo ....
De todas formas yo te sugiero otra idea. No se si el chat que tienes que hacer tiene que realizarse de una manera determinada (un trabajo para clase) o puedes utilizar la que tu prefieras. Si es este ultimo caso te propongo realizar el chat utilizando un método llamado "http polling". Este se basa en que el servidor mantiene una lista con todos los mensajes que aparecen en la conversación y los clientes a intervalos regulares se conectan al servidor por http y bajan los mensajes nuevos que han aparecido. De la misma forma si quieren publicar un mensaje envían el mensaje usando el método Post o Get del protocolo http.
Algunos messenger ya implementan este sistema, sobre todo porque puede atravesar un proxy http sin problemas, pero suelen utilizar protocolos bastante complejos. Puedes usar alguno de esos protocolos, o podemos pensar en uno mas sencillito. Así utilizando los componentes Indy, en el servidor podríamos usar tidHttpServer y en los clientes tidHttpClient, y no tendremos que meternos a manejar sockets, que pueden ser un dolor de cabeza
No se que te parece la idea