Hi Andrew, thanks for your response - swift and helpful, as always!
I am convinced that it is the IO Pi plus which has failed- with the IO Pi Plus removed, i2cdetect reports an empty grid. Installing another card reports the expected addresses. The problem occurs on more than one RPi.
Anyway, I will look into reflowing the joints, perhaps the soldering of the 0v pins on the GPIO connector is suspect - heat soak on the ground plane makes the soldering difficult. However, the board was working for several months and it is equally possible that a component has failed. The 23017 drives opto-isolated triacs with mains voltage, but a fault on that driver board (built on vero board!) could feed back to the IOPi. I really need to find some way of producing proper PCBs (with SMDs and with better separation of the LT/HT lines) here in Philippines!