ПС. Пока писал пост, подумал, может doc.Regenerate(); нужно ставить после tx.Commit();
Да, регенерация для других целей нужна.
По сабжу - да, похоже баг Revit-а. Обходится, собственно, аналогично
Но пока не добавишь новый лист
Т.е. После переименования листов создать и удалить лист:
...
var tempSheet = ViewSheet.Create(doc, ElementId.InvalidElementId);
doc.Delete(tempSheet.Id);