We require that MDTs and OSTs be running the same version of Lustre (i.e. no interoperability between MDTs) for DNE and LFSCK. While we always test this way and know this requirement ourselves, I know that there will be users who don't know this in the future, and I don't think this is actually checked or enforced anywhere.
The MDTs and OSTs should check at connect time via ocd_version that the connecting server is running the same major version of Lustre (e.g. 2.5.x or 2.7.x). Otherwise we may run into interoperability issues if someone is trying to run different versions of Lustre on the MDTs (e.g. DNE1 2.5 - DNE2 2.6 , or DNE2 2.6 - DNE2 2.8 async_commit, or LFSCK changes like http://review.whamcloud.com/13172 or similar).