SOLVED the problem
It would appear that when Calibre creates library database metadata.db and metadata_db_prefs_backup.json it assigns to them an owner "1000" with write permissions to owner only.
I never created these files so it didn't occur to me to check the owner until this particular problem.
Which of course meant that it was OK when running as root, but not as dogsbody.
Simple solution - was to manually change the owner (to root as everything else onm this usb stick)
All runs as clappers
What do you reckon about this?