Still a mystery, but the problem did go away shortly after my last post. Sorry, forgot to report.
It seems that my hosting company did their upgrade in two phases, and when phase 2 was complete - a week after phase 1 - the problem stopped being a problem. They went to PHP5.3.x, then to PHP 5.4.17.
The best advice I got about the odd messages was this:
That error message normally means that it did a query but got a failure back and then tried to fetch the results from the failed query.
Some database records would update, some wouldn't. Seemed to be associated with the admin profile, but hard to tell.
The hosting people responded with
We're also having some issues with over-zealous mod_security rules which could be the culprit, and we're working on that tonight.
Which may have been the problem all along.
I can't of course tell now whether the changes to Evo just released will fix the problem, because I don't know what the problem really was, nor what has been changed in this release, and it's stopped manifesting itself anyway, but I'm sure that you guys know more about it than I do.
What was it? My thanks anyway for fixing it (and the unspoken thanks of all those who won't have this problem in the future).
There were other symptoms of the move to PHP 5.4.17 - including that Ditto stopped working - but I found the fix quickly on these pages and amended my Ditto class files by hand.
Nic Boyde