The service MUST respond with a payload compliant with the greatest supported version of the protocol that is less than or equal to the request's OData-MaxVersion, if specified.
The same request should return the same response, so in the absence of an odata-maxversion header, the service should return the same payload over time. "If OData-MaxVersion is not specified, then the service SHOULD interpret the request as having an OData-MaxVersion equal to the initial default version produced by the service".
Client is allowed to use 4.01 without specifying an OData-Version or OData-MaxVersion of 4.01. If a request has a payload, a compliant client MUST specify the OData-Version of the request body.
If the client inspects the metadata to determine the service supports 4.01, and requests a maxversion of 4.01, the proposed general rule requires that the service return 4.01 (we can introduce a min version in the future, if required).
Request and response payloads are independent. The service must honor OData-MaxVersion in a response regardless of the version of the request payload.
CLARIFICATION FROM 2018-5-4: Regarding "initial default version"; our intention was that the behavior of the service did not change over time with respect to a client that does not specify an OData-MaxVersion header.