OK.
I tried to Recover the drawing and faults were found, but I could not save the drawing.

But I still need to deal with this problem in my COM object.
The code is straightforward.
Public Sub LoadDwg(ByVal FileName As String, ByVal LayoutName As String)
Try
App.Visible = True
App.WindowState = AcWindowState.acMax
If LayoutName = "" Then LayName = "Model" Else LayName = LayoutName
App.Documents.Open(FileName, False) ' with name of drawing to open (True= Read-Only)
Catch ex As Exception
If ex.Message.Contains("is not a valid drawing file") Then
ShowWarning(FileName & " seems to be corrupt", "Load it manually and try using the Recover Command to put it right", e_Button.OKOnly, e_Image.Exclamation)
Dim i As Integer = App.Documents.Count
'App.Documents.Item(i).Close()
App.Visible = True
App.ZoomExtents()
App.ActiveDocument.SendCommand(cnEsc & cnEsc & "_OPEN" & vbLf)
End If
End Try
End Sub For the moment I am using the OPEN command and not RECOVER.
But if I try to load the drawing, I am told that AutoCAD has already loaded the drawing. The drawing is not visible despite ACAD being visible. Drawing1 (new dwg) is there and I can close it.
If I stop execution of my code, App returns, but App.Documents creates error. I can't see how to close the failing drawing.
So 2 problems.
Recovering the drawing
Recovering the application
Thanks very much in advance.