After being unable to come to a solution on how to fix the issue, some digging led me to believe it was what 'scope.$emit('escape')' did (or did not do) when called.
On the diffForData sent after the button is pressed with 'scope.$emit('escape')', only one symbol included the 'IncludeMetadata : true' property, with the others set to false. Whilst searching for a way to force this to be true only for a single update, it occurred to me that there must be a proper alternative way that does not "force" the symbol to exit and still complete it's call; it was only logical that if there was an 'enterEditSelectedSymbol()' there would be an 'exitEditSelectedSymbol' and it turns out that there was.
Calling 'exitEditSelectedSymbol' instead of 'scope.$emit('escape')' fixes this issue.
I will also update the original thread, hope this is of use to someone.