Creo que se puede hacer en una sóla sentencia
Código SQL
[-]
DELETE FROM TABLA AS T
WHERE (SELECT COUNT(ID_NRO) FROM TABLA
WHERE ID_TABLA = T.ID_TABLA AND ID_NRO2 = T.ID_NRO2 AND
DATO = T.DATO GROUP BY ID_TABLA, ID_NRO2, DATO) > 1
AND ID_NRO <> (SELECT MIN(ID_NRO) FROM TABLA
WHERE ID_TABLA = T.ID_TABLA AND
ID_NRO2 = T.ID_NRO2 AND DATO = T.DATO)
algo así, no sé si habrá algún error de sintaxis