Larry,
You can not actually run the code generated by the class browser when more than one level of containership is involved. You'll have to define classes and convert the add objects to use the classes.
The second case works because that's the level of object you are defining so those are the methods you can define.
Is there a particular reason you are trying to do this in a .prg? It's such a huge PITA it's not worth the effort IMHO.
> PROCEDURE Grid1.Column2.Text1.Click
> Grid1.Click
> ENDPROC
>
>but this code ...
>
> *------------------------------------------------------------
> PROCEDURE Grid1.Click
> REPLACE MARKED WITH ! MARKED
> THISFORM.REFRESH
> ENDPROC