Yes, I know the the tHD;DAT never can be longer than tVD;DAT or tVD;ACK.
But why?
1. What is the purpose of designing tVD;DAT and tVD;ACK ?
In the above example, I did not see any points where exceeding tVD;DAT and tVD;ACK may cause problems.There is 300ns free time, as a host, I think i can keep the data is valid until next setup.

2. In my experience, design usually only imposes constraints on the minimum data valid time and not on the maximum data valid time. Why does this specification define the maximum data valid time?
3. Also, if this maximum data valid time is violated, will the slave not be able to receive data correctly?