I am no PropertySet expert, but from my tests, it looks like the VB script code used for formula type of property cannot retrieve individual value from an entity's property, if the property is an array.
You can verify this by trying to get 3d solid's Position, instead of Centroid, or trying to define a property set that applies to block reference and then add formula property to get block insertion point's X, or Y, or Z value. Or try to set a formula property against any entity/object's property that is a variant/array.
My guess is that this is a flaw when the VB scripting engine is implemented for PropertySet stuff by Autodesk (the VB scripting engine is not the same as used in AutoCAD VBA, because even you do not install VBA in later version of AutoCAD (Civil3D/Architect), PropertySet stuff still works). Pure speculation and I could be wrong, anyway. I am not sure if Autodesk would be fixing this, but most likely not. I am not going to hold my breath.