>It would appear that my PC has read both of the editions of your book and is now confused as to which to implement, and opted to implement both.
The editions actually don't contradict each other, "up to 255" can mean 34.
The host can do whatever it wants. The device should just respond to the host without trying to figure out why. Sometimes multiple drivers will request a descriptor. But if you're seeing what you described one after the other, it's possible that something didn't look right to the host the first time around.