by Geoffrey Rowland.
Now solved. Actually, the debug was very informative, but in case it helps anyone else.
A quick comparison of the mdl_book table of each instance using phpMyAdmin showed that the intro field (column) was missing from the upgraded version.
As we only had one or two earlier uses of the book module (and we have an archive 1.9 site with these on), I simply deleted it from the Moodle Manage activities Admin interface, then let it reinstall from the Notifications link to give the new mdl_book table with an intro field.
Now courses, from the other 2.3.1 instance, restore fine.