I feel you're judging the programmers a bit harshly. Unfortunately, even if one makes one's objections known in discussions (if there are any to start with, this depends on company culture), there not always taken into account.
You start from the assumption that managers and senior designers/programmers will listen to reason and follow common sense arguments, which unfortunately is not realistic in all cases.
Personally I've been lucky in this respect, and, judging from your post, so have you, but I'm afraid it's a mistake to take it for granted.
Just my 2 cents, -gjb-
Update: Well, being nearly fired counts as being lucky in my book.