Development in this case: the reference was actually being replaced for the 'problem' variables, BUT the 'old' variable was still staying there with the red exclamation mark. I then had to manually delete it. So, it can be worked around, but is pretty weird. Would still appreciate if anyone had insight into this.
Any fields will remain with the exclamation point if there is not a field with the same name and case in the new data source. Hope this helps!
That doesn't seem the case with the majority. When I used the 'Replace References' in most instances the "old" variable disappeared when I had replaced it.