tl;dr > I traced the problem to a low quality power cable providing insufficient power to the pi.
For the benefit of others, this is what I found in my log files. I only had the ASI224MC connected to my NanoPi K2 running latest Ubuntu Mate 16.04, indi & kstars.
org.kde.kstars.indi] - ZWO CCD ASI224MC : "[DEBUG] StartExposure->setexp : 1.000s "
org.kde.kstars.indi] - ZWO CCD ASI224MC : "[DEBUG] ASIGetExpStatus failed (0). Restarting exposure... "
I first tested the ASI224MC on Windows PC with sharpcap and drivers from ZWO; all worked well. I knew the camera was fine.
I then installed latest indi & kstars on an old PC running Ubuntu Mate 16.04; all worked well. I knew indi & kstars were OK, well at least the x86 builds.
I then focused on the pi. I had a backup of the SD card from August when the install was fresh and 'known working'. I backed up my SD's current image and reloaded the one from August. It also failed the same way with exposure timeouts; my 'known good' image hadn't yet been updated so I started to suspect a hardware issue with the pi.
My next step was going to be to borrow a 'genuine' raspberry pi 3 b board from my media player and try a fresh install from scratch on that.
I stuck a thumb drive in to backup some custom scripts and noticed the unit powered itself off while copying. I wondered about load on the USB ports then remembered after I last updated the unit (it normally lives offline) I'd swapped the USB power cable with a longer one when shifting some gear around.
I put the original power cable back on the unit and everything started to work 100%, even with mount and DSLR connected.
In the end it was a hardware fault I'd caused by using a bad power cable (now in the bin) and nothing at all wrong with indi, kstars, the computer or camera.