Unfortunately, with my actual data set, just some of the images got cropped.
The easy explanation: I filled the image column via copy / paste from a Powerpoint presentation.
All the images had the same aspect ratio, therefore they had the same size in the JMP data grid - but they did not have the same actual size! And crop just works if the pixel values in the arguments are smaller than the actual size of the image.
Much easier to detect, when you use images with different aspect ratios ( trying to create a demo case for a community post ).

Open( "$SAMPLE_DATA/SAS Offices.jmp" );
New Column( "cropped", Expression);
for each row( img= new image(:Photo);
{w, h} = img << Get Size;
img << Crop( Left( 10 ), Right( 800 ), Top( 10 ), Bottom( 70 ) );:cropped = img)
so, my final script was:
Open( "$SAMPLE_DATA/SAS Offices.jmp" );
New Column( "cropped", Expression );
For Each Row(
try(img = New Image( :Photo );
{w, h} = img << Get Size;
target = 500;
img << scale( 500 / w );
{w, h} = img << Get Size;
img << Crop( Left( Round( w / 3 ) ), Right( Round( w / 3 * 2 ) ), Top( Round( h / 10 ) ), Bottom( Round( h / 5 ) ) );
:cropped = img;)
);
Try? -> just in case one of the images is missing.