Here is a piece of JSL that will do what you want..
names default to here(1);
// Point to the data table
dt=current data table();
// The code below is going to sort the data into a possible different
// order, and by adding a columns that shows the original position
// the data can be sorted back to the original position at the end
dt<<new column("RowNum",formula(Row()));
dt:RowNum << delete formula;
// Sort the data so the latest Date and Time value comes first
dt << sort( by(:Date and time), order(descending),replace table(1));
// Select all rows that are found to be duplicates. The initial
// rows in the duplicate series are not selected
dt << select duplicate rows( Match(:Name, :Date) );
// Delete all rows found to be duplicates
try( dt << delete rows );
// Sort the data back to the original order
dt << sort( by(:RowNum), order(ascending), replace table(1));
// Delete the RowNum column
dt << delete columns(:rownum);
Jim