The word "ChildSizing" is not used anywhere in customflowpanel.inc, therefore I guess that TFlowPanel uses its own layout procedure and ChildSizing is not effective.
It works to set the BorderSpacing of the child controls, and you can simplify this by calling
procedure FlowPanelMargins(APanel: TFlowPanel; Margin: Integer);
var
i: Integer;
begin
for i := 0 to APanel.ControlCount-1 do
APanel.Controls[i].BorderSpacing.Around := Margin;
end;
But note that there is a difference here also: while normally the Around spaces are allowed to overlap, they do not overlap here and must be added, in other words: when you set Margin to 5 the distance between controls will be 10, but the outer margin will be 5. To have the left-most, right-most, top-most and bottom-most margins at the same visual value you should additionally set the FlowPanel's BorderWidth to 5.