Yeah sounds like the links aren't right. Always check links (C, K) before pushing updates.
Without links, it's inferring them directly from designators, so of course, if you swap them around, it doesn't know anything better to do, and you get what you asked for, but not what you thought you were doing.
Links are scrambled by placing, copy-pasting / pushing, even choosing a new Design Item ID (library reference part) (but not Update From Libraries, maybe, at least if there's no change seemingly..?), and you need to re-link them before changing designators. (Curiously, it can say links are off, even though the values still match on both sides. Unless that's a quirk of the design I'm testing just at this instant?) Most common pitfall (after skipping links entirely) is doing too many changes at once (i.e. one or more of these plus designator change) and things get scrambled again.
And yeah, it's a scuffed system.. it's designed to improve on a "traditional" method (say, purely matching designators in a netlist transfer mechanism) I think, but it still requires manual oversight. Basically it's replacing Designators with another, even more fragile, and less visible, system of designators. And it fails silently -- you can keep on working while letting it guess what you mean, until such time as you push it too far and the seemingly-functional facade falls face down.
My regular incantations / paranoia are:
C, K (Project / Component Links)
D, I (Design / Import Changes)
T, G, A (Tools / Polygon Pours / Repour All; I think I custom-configured this bind but whatever works to repour them)
T, D, R (Tools / Design Rule Check, Run)
Poly auto-repour isn't bad (at least since... AD15 or so?), but it's quickly bothersome in larger designs, and I've long been in the habit of manual repour so I don't use it. Likewise design rules, I have online checking disabled, I'm good enough to eyeball most of them, and then clean up rules later to suit what I've actually built and adjust what still doesn't match after that.
Tim