We've made some progress (or possibly fixed the problem, but I don't want to rejoice too early).
- Most of our content was automatically imported with a little program we developed, which uses the Sitefinity API
- Only some of the imported content was corrupt, newly-created content works fine
- Only English imported content causes errors (FR-only content is fine, EN-only content crashes, and FR/EN content crashes)
- When looking into the database, table "sf_news_tems", we noticed (among other things) that imported English content has the "approval_workflow_state_" column set to NULL, while content which works fine has this column set to 'Published'
- Taking a random non-working English news item, I manually updated its "approval_workflow_state_" column to 'Published', and now this news item seems to work fine in the back end!
To fix this in our import program, we added the 2nd line:
manager.Lifecycle.PublishWithSpecificDate(sfEvents, ntArticle.PublishedDate, cultLang);
So this seems like a bug in the Sitefinity API, which sometimes does not set the ApprovalWorkflowState property to "Published" despite having called the PublishWithSpecificDate method.