Creo que la “D” tampoco tiene por qué ser falsa. “Pinocho tiene al menos dos sombreros que no son verdes”. No niega que tenga sombreros verdes, con lo que, por casualidad, podría haberse puesto uno verde; y así no hay problema en que esté mintiendo. Ahora bien, si dijera que “siempre que se pone algún sombrero dice `tengo un sombrero que no es verde`”, en ese caso si sería lógico descartarla.
Tampoco dice que tenga que ser única la respuesta correcta.
Bueno, quizá he traducido el enunciado a mi manera y he pensado "tengo puesto un sombrero que no es verde", o "llevo un sombrero que no es verde"
Saludos.