Max,
I am unable to duplicate this problem, in either ArcGIS Pro 2.3 Final or a pre-ArcGIS Pro 2.4 build. Here is my code (very similar to yours)
protected override void OnClick()
{
var layer = MapView.Active.Map.Layers.FirstOrDefault() as FeatureLayer;
if (layer == null) return;
var labelClass = layer.LabelClasses.FirstOrDefault(l => l.Name == "My label");
if (labelClass == null) return;
QueuedTask.Run(() =>
{
var maplexLabelPlacementProperties = labelClass.GetMaplexLabelPlacementProperties() ?? new CIMMaplexLabelPlacementProperties();
maplexLabelPlacementProperties.PointPlacementMethod = MaplexPointPlacementMethod.CenteredOnPoint;
maplexLabelPlacementProperties.CanRemoveOverlappingLabel = false;
maplexLabelPlacementProperties.CanTruncateLabel = false;
maplexLabelPlacementProperties.EnablePointPlacementPriorities = false;
labelClass.SetMaplexLabelPlacementProperties(maplexLabelPlacementProperties);
});
}
My label class successfully changes from Best Position to Centered on Point.
Do you perhaps have multiple label classes on this layer and might be showing one of those in the label properties dialog?
Narelle