@anon41901724: file names stay updated, I agree, but I don’t know about aliases, while headers definitely do not stay updated.
I don’t understand why you mention code blocks, unless you mean block references. If that’s the case, moving a referenced block of text around in the same note should pose any problem since the link to it references the ^ number.
I don’t see why one would change a ^ number anyway.
Headers are another story: like file names they can and do get changed. If I am not mistaken Licat has said that, some time in the future, links will be made to update with header name changes too, like with file names.
So, in fact, headers are the only weak link (pun intended) in the chain, at this stage.