Seems like a bug that the message is not inherited by all Frameboxes.
Every FrameBox needs its own message, at least when it comes to Markes Size. This can be done with a loop as in the example below:
dt = open("$sample_data\Big Class.jmp");
gb=Graph Builder(
Show Control Panel( 0 ),
Variables( X( :weight ), Y( :height ), Group Y( :sex ) ),
Elements( Points( X, Y, Legend( 1 ) ) ),
);
summarize(g=by(:sex));
for(i=1, i <= nitems(g), i++,
report(gb) << Dispatch( {}, "Graph Builder", FrameBox(i), {Marker Size( 4 )} )
);