Hi guys. The iProperty named "Material" that is within the "Design Tracking Properties" PropertySet is ReadOnly, according to the online help documentation. And it seemed to me like it had been that way for quite a while, but I could be wrong about how long it has been that way. Here is the link to the PropertiesForDesignTrackingPropertiesEnum, which contains notes about most of the iProperties within that PropertySet. There are actually two properties related to the material (Material & Material Identifier), but one is a bit odd, containing a concatenated material library path with the material name. You can still use the iProperties.Material (Link1, Link2) iLogic snippet though. The PartComponentDefinition.Material property has actually been 'hidden' for quite a few years now, so I never use it. I pretty much just always use the PartDocument.ActiveMaterial property.
Edit: Also, all of the properties within first 3 PropertySets are standard in all documents, no matter their type, but sometimes they just don't have any values, or a useless value. The fourth PropertySet is always the 'Custom' one, and it is always present, but obviously does not have any properties, by default. Generally the Material iProperty is 'driven' rather than 'driving', to put it in dimension constraint terms, so setting the 'real' iProperties's value should not change the material of the part anyways, but the iProperties.Material iLogic snippet will change the part's material (or the material of a component). Then changing the part's material should automatically change the value of the iProperty. I know, it may not have always been that way though.
Wesley Crihfield

(Not an Autodesk Employee)