WD04 Section 3.14 Line 1833 says "If the Session State Expiry interval in the CONNECT packet was zero it is a protocol error to set a non zero Session Expiry in the DISCONNECT packet"
The text does not state how this error should be handled by the recipient. I don't think it would hurt to say 'The erroneous value will be treated as a zero, and the processing of the DISCONNECT message will proceed as described in section 3.14 (which says it MUST close the network connection and not send any more control packets, and not trigger a WILL message if the DISCONNECT return code is less than 128).