I was not looking into the details of the output. You are looping over cc, then you should refer to cc rather than col_list to get the desired result.
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// Get list of data column names
col_list = dt << Get Column Names( string );
// User specified column names
cc = {sex, weight, test, new, old};
For( i = 1, i <= N Items( cc ), i++,
If( Contains( col_list, Char( cc[i] ) ),
Column( dt, Char( cc[i] ) ) << Set Selected( 1 )
)
);
//This works too
For( i = 1, i <= N Items( cc ), i++,
If( Contains( col_list, Char( cc[i] ) ),
:(cc[i]) << Set Selected( 1 )
)
);