What you are missing, is that FrameBox(1) isn't always the object that needs to be changed. You need to read the section in the Scripting Guide on Display Trees. If you are using Surface Plots, then the size of the object needs to deal with SceneBox(1), and it isn't a "Size" mesage, but rather a "Height" and "Width" measurement.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\big class.jmp" );
sur=Surface Plot(
Columns( :age, :height, :weight ),
Datapoints Choice( "Points" ),
Surface Color Theme( "Green to Black to Red" ),
Surface Color Theme2( "Green to White to Red" ),
Surface Color Theme3( "White to Black" ),
Surface Color Theme4( "Blue to Gray to Red" ),
Response Column Color Theme( "Blue to Green to Red" ),
Response Column Color Theme2( "Spectral" ),
Response Column Color Theme3( "Jet" ),
Response Column Color Theme4( "White to Blue" ),
Response( :weight ),
Surface Color Method( "Solid", "Solid", "Solid", "Solid" ),
SetVariableAxis( :age, Axis Data( {} ) ),
SetVariableAxis( :height, Axis Data( {} ) ),
SetZAxis( weight, Current Value( 120 ) ),
SetXVariable( :age ),
SetYVariable( :height ),
Frame3D( Set Rotation( -54, 0, 38 ) )
);
report(sur)[scenebox(1)]<<height(800)<<Width(800);
Jim