Du kan lägga till en tredje kolumn ModifiedDate och använd det:
insert into t(id, tag)
select id, tag
on duplicate key update ModifiedDate = now();
Detta säkerställer att en uppdatering verkligen sker, och i sin tur att LAST_INSERT_ID() returnerar ett värde.