Sorry this got so long, just lots of random thoughts I've been meaning to address anyways.
So why did data broadcast cease? Why is the altitude data so incomplete?
As has been stated numerous times (including by FR24 staff) the data coverage in that area is extremely limited. Both data points ceased at the same time, and before any unusual deviations began. This is consistent with LOS.
Let's assume that flaps were brought back to 0 shortly after data transmission ended. Are we assuming that MCAS stepped in immediately?
You don't have to assume that MCAS "stepped in immediately" - it's a piece of software programming, it does what it's told to do. If it's programmed to enable its flight control augmentation corrections upon flap retract, then that's exactly what it will do.
With or without the pitot tubes accurately feeding AOA data to the FMS? We know that Lion Air was having such mechanical issues. So much that the engineer took pics and flew with the plane. Let's assume the Ethiopian plane had completely fine hardware feeding the FMS with accurate AOA data. Would MCAS still step in?
You're kinda answering your own question - the fact that MCAS was active and performing in an unexpected manner DUE TO incorrect data input on the Lion Air flight is proof that the system (as it's implemented currently) is incapable of error-checking itself or at least the data being fed into it. So yes, it appears that it'll always be active regardless of what data it's getting.
Fault-checking to that degree likely requires additional sensors and independent computers as you see on Airbus (due to the degree of automated systems, they need the ability to cross-check and "vote", and/or remove a computer or data source if required.) Since the ADIRU is a core component to the functionality of the entire flight control system on FBW Airbus', they have 3 of them AND they're all (each) designed around a quad-redundant architecture. It's very difficult to "fool" one, regardless of a combination of failed data inputs.
When you stick an "add on" system to essentially a legacy aircraft like the MAX (flight control-wise at least) with no core FBW system, laws, data-checking or voting, redundancy, etc, you open yourself up to potential problems like MCAS. Again I'm not saying that's what happened here as we have no idea yet.
So for example - pretend Airbus had the clearance issue w/ engines, not Boeing. They'd be able to modify the entire FBW programming and flight envelope for the engine mods/location/thrust behavior/CoG. Even if they just added a new trim program system into the envelope protections (again, not required as it would be integrated at the core level) - it would be fed "clean" data, and have the ability to disable itself and/or disregard data based on what the ADIRUs have determined. It would be totally seamless and a non-issue.
Should we assume that there are still MAX pilots who, in the past few months, have learned nothing about mitigating MCAS? If MCAS did step in, despite receiving accurate data, then MCAS has a new fault mode we don't know about. Could Boeing have, not publicly, updated MCAS in the meantime but perhaps this update created new faults?
The problem is likely psychological in nature, there have been lots of studies on how pilots think in more recent crashes. When you're presented with data or behavior that doesn't make sense, or goes against your primal training in every way, it's difficult to address the problem and usually takes a few seconds longer (even in sims, but to a lesser degree).
Even if every MAX driver has read the numerous bulletins and training updates most airlines seem to have performed, it'll still take a second to register. Depending on the upset encountered though, it might be pretty complicated to recover. From what I recall, MCAS is capable of commanding extreme trim inputs VERY rapidly. If you're on autopilot climbing out, reaching for a coffee or something, looking at a chart, changing a radio frequency, etc, and that thing slams full trim on you, it's tough to know how you'd react and if you would have enough time.
If it was receiving correct data, it wouldn't result in a crash. In its normal state, MCAS is seamless and simply trims the MAX to behave like legacy 737's in certain parts of the flight envelope.
Also I'm not aware of the exact method for a software update to a component like MCAS, but they absolutely wouldn't do it (or be able to anyways) without the airlines knowing it.