Library Version report, gateway vs sensors

For the Gateway, MyGateway.cpp has a check for INTERNAL message with I_VERSION, that is 0;0;3;0;2; to which it responds with same + the define LIBRARY_VERSION (1.4.1 for example).
For Sensors, http://www.mysensors.org/download/serial_api_14 says that INTERNAL+I_VERSION is "Sensors report their library version at startup using this message type". This isn't true, they send nodeid;255;0;0;17;libraryversion (or 18 if it's a repeater)... There's no code for replying to this request either.
This is coming from MySensors::begin;
present(NODE_SENSOR_ID, repeaterMode? S_ARDUINO_REPEATER_NODE : S_ARDUINO_NODE);
How much will we break if they start sending the same as documentation+gateway? On the other hand, various other things are reported under the NODE_SENSOR_ID (255) "sensor"..

How is it more messages to send with "node;0;3;0;2;version" than "node;255;0;0;17;version" ? Or am I missing something..? Was the old method that the sensor said "hi!", gw says "what version?" and sensor said "v1.xx" vs the new "hi, v1.xx" ?

"node;0;3;0;2;version" doesn't contain the node type it is (repeater/sensor). So I think this was sent in a separate message back then. Sorry, my memory fails me.. Github history has the answer if you care to dig.