I think it is ideal if all versions match, and ideally nothing would be running at a higher version than the root server, but for the relays specifically, they should be on the highest version available that is not higher than your current root server version.
As for the clients, on the Macs, we often install the highest version of the client available, (9.2+) regardless of what version the root server or relays are on because Mac support on the client for the latest OS X often lags behind and the newer clients often work best on the Mac.
Also, up until recently we had a version 9.0 root server, but we still had a few 7.0 clients out there. This is definitely not ideal, but it was functional. We try not to force updates often on the clients and instead try to encourage the other IT units to do the updates themselves, but we finally forced all clients to be on at least version 8.2 and I think we are now (or soon will be) forcing all clients to be on at least version 9.0
Ultimately it is the minimum version of the clients that matters most, unless having a higher version is found to cause problems, which it could.