Use another scoreboard to store the ACTUAL diamond ore mined. Use a tag to mark to player with {SelectedItem:{tag:{ench:[{id:33s}]}}}
NBT (having silk touch enchantment).
Then, add 1 to the ACTUAL score if the player have score mined diamond ore >0 and don't have the tag (don't holding tool with silk touch enchantment.)
Not sure if it is accurate enough(maybe players can quickly switch items...maybe...), but it should be much more accurate than other methods.
edit: forgot to say that you have to reset the mine block score every tick after you check to score.