Here is a different approach that might do the trick for you. It finds all of the duplicate rows for the different values in a column, and then inverts the selections, which ends up being the first values found for each of the different values in the row. It then subsets those rows to a new table.
// Subset only the rows where each age appears for the first time
Names Default To Here( 1 );
dt =
// Open Data Table: Big Class.jmp
// → Data Table( "Big Class" )
Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << select duplicate rows( Match( :age ) );
dt << invert row selection;
dtSub = dt << subset(
selected columns( 0 ),
selected rows( 1 ),
output table( "subset" )
);
Jim