This has actually been an ongoing issue for years, as far back as I can remember.
As the OP ended up finding the setting of disjoin is usually the cause, but not always...
Of course, not all entities have the disjoin option, so Revit uses the last used value (ie, if you intentionally moved an entity using the disjoin option then the next entity will automatically use the disjoin option even if that option is not available for that entity) which makes it impossible to turn it off (set it back to join) while moving those entities. You have to go back and move something that does have the option and toggle the disjoin off, then the entity that doesn't have the option will move with fewer issues.
It isn't just tags either.
There is no reason that tags, dimensions, etc should be deleted just because you use the move command for precision over dragging things around willy-nilly, yet they are. Often. There is also no reason for such annotation to be deleted regardless of the join/disjoin option, yet they are. Often.
It almost acts if Revit doesn't "Move" an entity when using the move command but, rather, creates a new entity and removes the old one, therefore previous tags and dimensions don't apply, which, of course, isn't the case, but it is what the behavior seems to indicate.
Gary J. Orr
GaryOrrMBI (MBI Companies 2014-Current)
aka (past user names):
Gary_J_Orr (GOMO Stuff 2008-2014);
OrrG (Forum Studio 2005-2008);
Gary J. Orr (LHB Inc 2002-2005);
Orr, Gary J. (Gossen Livingston 1997-2002)