me respondo yo mismo, despuén de haber leído el mensaje de "desencantado":
el porqué de no capturar la excepción en win2000 mientras que funciona en 9X se lo achaco a una diferente manera de implementar los sockets.
el caso en particular era activar un clientsocket cuando el host no escucha o no está o no hay dns... y se captura la excepción, pero aparece un segundo mensaje de error que se escapa al try.
ya que te enteras de la excepción (puedes actuar con catch) y solo se quiere evitar el mensajito, la solución ha sido cambiar el manejador de excepciones por defecto a una función que en ese caso no hace nada (y en el resto lo que os de la gana), como se describe en la ayuda: Application->OnException = MiExcepcion...respecto a la segunda pregunta, como hacer un ping, lo más sencillo era conseguir un componente (pq meterse en icmp...), pero lo único que he encontrado es precompilado y para delphi.
bueno, un saludo, y a responder más mensajes 