I could be wrong, but I think this may be something to do with the way classes are instantiated in VBA.
For example:
Dim oClass1 as Class1
Set oClass1 = new Class1
Is different than
Dim oClass1 as New Class1
In the second case I believe the constructor doesn’t get called until the property is accessed.
If you try this, it is sees the property in the Watch window. Notice the New for the IClass – just for Demonstration – I know its not the way to do that 🙂
Public Sub test1()
Dim x As Class1
Dim y As IClass
Set y = New IClass
Set x = New Class1
Debug.Print x.Name
Debug.Print y.Name
Stop
End Sub
I suspect its something to do with that and the watch window requires this … maybe…