ERR is TMCC but there are 57 varieties of TMCC. Lionel had a few, maybe three or four, then there are TAS SAW and EOB, Digital Dynamics, and K-Line Cruise. Not sure any of them will run together even in identical engines but surely not in different engines,
That was one of the reasons Lionel developed Legacy, not only to add more features but so different engines could run together as MTH had been doing for years earlier.
One thing to note, I don't think Legacy guarantees smooth operation between powered units of different varieties. There are several factors at play here.
1) The gearing of the locomotives:
From strictly mechanical perspective, in order to have the locomotives run well together over a usable range of speeds, they have to be close in gear ratio. And what I'm really talking about here is volt-for-volt the motors, combined with gear size, and wheel size produce roughly the same maximum and minimum speeds. The software in the motor controller can correct for some, but not extreme values of this.
2) The motor feedback system in use:
MTH PS2 and PS3 units use a tach strip and sensor to measure RPMs. The original TMCC locos without Odyssey may have used some sort of feedback but I don't think that was the case. TMCC with the first version of Odyssey used a magnet and reed or Hall effect sensor on the motor, this allowed the motor controller to know pretty well whether or not the motor was stalled and/or not keeping up. This allows for it to increase or decrease the voltage/current to adjust the speed of the motor. Whether Lionel used this in their motor controllers for matching speed between locos in a lash-up is really unknown, but I think it was a entirely passive system. This means that it only worked in a lash-up if the loco at a specific speed step to track speed ratio and just relied on each unit adjusting the speed independently based on their own measurements of their own motors. Legacy brought the advent of Odyssey II which uses a similar tach strip based method (though instead it's a plastic "fence" that wraps around the motor below the flywheel with an IR sensor to measure the RPMs. This has an advantage over the magnet method as instead of just one or two data points between revolutions of the motor, you get far more, just like the tach strip.
ERR (and others) measure electrical characteristics on the wire driving the motor. Things like voltage, current, and maybe the phase angle between the two (AKA power factor). This can be used to determine the load on the motor and possibly the speed, though not as accurately as the tach strip method or magnet methods.
3) Communication
For MTH locos, it's possible that they they could talk with one another if programmed in a lash-up - I don't know if they do, but they could since they can both transmit and receive. Even if they don't, they definitely DO communicate back to the TIU and remote. Therefore depending on how MTH implemented the protocol, they could wait for a reply from BOTH engines before issuing the speed change command. Or both units could listen for the "acknowledged" signal from each other. Additionally, I think they send specific speed commands and not just up or down.
Until Bluetooth engines came a long, TMCC and Legacy were never capable of any communication other than "receive". Therefore if the commands being sent were relative ones (CAB-1, CAB-2 in CAB-1 mode, R100) there was no way to know if BOTH engines received the command. For this reason, they send the command multiple times, and I guess the TMCC electronics ignore commands for a half second to a second after receiving one. Even still no guarantee, and engine 1 may be on speed step 10 while engine 2 could be on speed step 8 because it missed the throttle-up command on say step 4 and step 9. The absolute 32 step mode fixes some of this. At least then, when you roll up the throttle, if it missed step 9, when you click step 10 it gets another chance to "sync up".
Bluetooth allows the engines to talk to one another and sync their speeds. I only realized they might be doing this when someone said that they noticed with their recent Legacy E7 (or E8) they had two powered A-units and the second one would not run without the first unit on the tracks. My guess is that they are doing some speed matching between engines (or at least confirmation) with that. Like unit 1 says "Hey unit 2, I got a command to speed up one step, did you?" and unit 2 says "Yep, let's do it." Or maybe it says "No, I didn't." Then unit 1 says, "well, let's do it anyway" and unit 2 responds "OK, your in the lead so I guess you win."
4) Software compensation
Do the boards have any sort of scale speed compensation in the form of a scale factor? From the reading I've done, and the work Mark DiVecchio has done with ADPCM, MTH definitely puts in a "scale factor" of some sort to adjust an locomotive's wheel size and gear ratio to the drive train in use. This is pretty evident in the fact that if you take a sound file from a high-wheeled E6s Atlantic and put into a cheap RailKing 2-8-0, the chuff no longer matches up and the speed ranges are much different.
I don't know if Lionel did this with TMCC, but I'm guessing they do it with Legacy because by putting a different board in to a Hudson with the five chuff issue it could be remedied with no changes to gearing or the motor.