On the current 4.1.* release, I suspect that most of the flags on IProperty actually does not work. Some flags on IComponentProperty do work (i.e IsEditableWhen… flags). For example if you want to make your property read only, you should do the following.
var prop = comp.CreateProperty(typeof(string), PropertyConstraintType.AllValuesAllowed, “my_prop”);
var compProperty = (IComponentProperty)prop; compProperty.IsEditableWhenDisconnected = false;