Found the problem.

On 5 January, I added the OPENFILENAME structure to the sub that
initializes the class.

In that structure, I used

.hwndOwner = frmX.hWnd

So the form was indeed being loaded every time.

However, since adding the structure, until yesterday, I had only been
testing with frmX, not the other forms, so I did not see the problem.

The solution appears to be to not set .hwndOwner, so I just removed the line

.hwndOwner = frmX.hWnd

I guess that UnloadMode gets set to vbFormControlMenu when such a form gets
unloaded, even tho the Close box was not used.