your code fails to create a property for the object oChild.(as commented) with addproperty() function.
if it works for addproperty method this assumes ochild is a valid object.
Foxhelp enumerates the cases when it does not work:
Addproperty function This does not apply to COM objects created with Visual FoxPro OLEPUBLIC classes.
ADDPROPERTY( ) does not work when using the FOR EACH command with object references.
However, you can use the AddProperty method instead of Addproperty function(as where your code successfull).