> The other reason is that this isn't base functionality, for example an embedded implementation has no need for screenshots.
I'm unsure what kind of graphical environment you can imagine where screenshots are not useful at all (if only to capture the screen when something weird is going on).
For debugging purposes, the display server can just dump the screen to a file or a serial port itself. The only reason you would need this in the protocol is so other arbitrary applications could capture the screen.
Screenshots on embedded is very useful in some cases, like debugging, or information sharing or archiving, which often performed by smartphone camera today.
The other reason is that this isn't base functionality, for example an embedded implementation has no need for screenshots.