Hola Mauricio:
En primer lugar, lo que mencionás no es sobrecarga de constructores. La sobrecarga de métodos consiste en tener más de un método con el mismo nombre dentro de la misma clase pero con distinta firma, es decir, que reciban tipos de datos por parámetros. Al ser Smalltalk un lenguaje de tipado dinámico esto no tiene sentido pero sí es una técnica que utilizaremos luego en Java.
La respuesta a lo que preguntás es que depende de las responsabilidades de tu clase Libro y en qué influye que sea en blanco y negro o a color. Por lo que describís no se justifica tener una clase para cada tipo de libro, por lo que la idea de los dos constructores suena mejor. Pero habría que ver el resto del modelo y ver por qué te importa hacer esa diferencia. Si es porque querés darles comportamientos distintos a cada uno y es algo necesario para tu solución entonces puede que tenga más sentido crear ambas clases separadas de manera tal que ambos entiendan un mismo mensaje y lo respondan de distintas maneras (polimorfismo).
En resumen, si la diferencia es solo un atributo entonces con una sola clase estás bien. Si además vas a tener comportamiento diferenciado entonces sí se justifica tener dos clases para que respondan de manera polimórfica.
Saludos,
Tomás