My feeling on the matter is that it wasn't Bioware's story to tell. Mass Effect, to an unprecedented level, asks you to BE Commander Shepard, not just play through his or her story. Mass Effect is the PLAYER'S story, and Bioware decided to try and retake it, which was a terrible idea because that was never going to make anybody happy. If this were any other franchise I'd say that no, changing the ending would be a terrible idea and set a bad precedent, but Mass Effect isn't any other franchise - it belongs to the players, not to Bioware.
The ending also strikes me as rushed as hell. The dream sequences? How much of the game world do they actually affect? How frequently are they referenced? It seems to me that they were tacked on at the last minute, a hurried and poorly written conclusion to an otherwise epic franchise. This is why the Valve/Blizzard 'When It's Done' approach to game development works so well - they take however much time they need to make their games well, and Bioware certainly has (had?) the auteur license, if you will, to do that. The fanbase would wait, and they should have realized that and taken their time. At this point Bioware can only do damage control, and no, they will never please everybody, but they should at least try. Mass Effect's fanbase is devoted to this franchise because they are an integral part of it; they ARE Commander Shepard. Mass Effect 3 tried to take away this series' best attribute - the player's integral importance to the story, and did it with a poor Deus Ex Machina to boot. Because the fanbase is so integral to the story the players are much more directly hurt by the way this game ended, which is why we've seen the huge furor we have; if Half Life 2 Episode X ends with Gordon Freeman being squished by a giant space walrus or something people will be upset with Valve, but they certainly won't come out in such numbers with such anger as they have with ME3 and actually demand, en masse, that Valve change the ending. People are invested in Gordon's story, but Mass Effect 3 is the *player's* story, not just some random avatar.