Vous pouvez ajouter une troisième colonne ModifiedDate et utilisez ça :
insert into t(id, tag)
select id, tag
on duplicate key update ModifiedDate = now();
Cela garantira qu'une mise à jour se produit réellement et, à son tour, que LAST_INSERT_ID() renvoie une valeur.