A me è capitato un caso simile, ma DISTINCTROW ha risolto tutto quanto. Se non si imposta la query come record univoci succede di non poter cancellare.