OK, well if he says it is possible, I will have to take his word for it, but the online help documentation says otherwise. What I mean is, each of the first 4 PropertySets in every Document, and a special PropertySet only present in 'Content Center' stuff, has an 'Enum' for them. There are online help pages for each of those Enums. I will post those links below, for reference:
PropertiesForSummaryInformationEnum
PropertiesForDocSummaryInformationEnum
PropertiesForDesignTrackingPropertiesEnum
PropertiesForUserDefinedPropertiesEnum
PropertiesForContentLibraryEnum
The standard Property named 'Appearance' is at the Index position of 53 in the third PropertySet, the one named "Design Tracking Properties". When we look at the Enum for that PropertySet, and look at the line item for the Property named 'Appearance' (first one shown, due to alphabetical order), it says that it is ReadOnly, and says that it there is no user interface access to it. That online help documentation may simply be outdated, and needs to be updated (hint @johnsonshiue). When I use a line of code to set the value of that iProperty, I do not get an error, but that also does not really set the Appearance of that Document, in the traditional sense. I believe that Property's value gets set automatically by Inventor when we set the 'real' appearance (an Asset object) of a Document, so its value gets driven by that action, not the other way around. But if setting the value of that iProperty is all that is needed in your case, then that would certainly simplify things greatly.
Below is an updated code example using that process, but doing it the Inventor API way, instead of the iLogic API way, to help clarify document specification when dealing with referenced documents in the background. This can be used directly on a weldment type assembly, or used from a parent level assembly containing some weldment type sub components.
Dim oADoc As AssemblyDocument = TryCast(ThisDoc.Document, Inventor.AssemblyDocument)
If oADoc Is Nothing Then Return
If TypeOf oADoc.ComponentDefinition Is WeldmentComponentDefinition Then
oADoc.PropertySets.Item(3).Item(53).Value = "Decapage"
End If
For Each oRefDoc As Inventor.Document In oADoc.AllReferencedDocuments
If Not TypeOf oRefDoc Is Inventor.AssemblyDocument Then Continue For
Dim oRefADoc As AssemblyDocument = oRefDoc
If Not TypeOf oRefADoc.ComponentDefinition Is WeldmentComponentDefinition Then Continue For
oRefADoc.PropertySets.Item(3).Item(53).Value = "Decapage"
Next
oADoc.Update2(True)
Wesley Crihfield

(Not an Autodesk Employee)