cattledog:
That behaviour was fixed with ide v 1.6.8 . See this thread
Interesting, I think there is still a bit of an issue. In the code I posted there is an analogue read between each pair of bytes. In the actual system this resulted in the occasional dropped byte which meant that the received numbers occasionally were in a different order, meaning that the sliders showed up in the wrong channels. This was not evident until the master was polling the slave quickly, about every 10mS. The master by the way is a Teensy.
This was solved once my partner had the hardware by sending the data from the position array rather than reading it in the data request function, hence it did not make it into my code. So it looks like if you wait too long before doing the wire write, it went off and sent an incomplete message. That looks to be like an unintended consequence of a fix to me.