b) People are used to being lied to about criticality, and "understanding" the criticality of deadlines is usually code for working extra hard to compensate for planning mistakes, unplanned work, or other people's mistakes. The willingness of developers to work unpaid overtime to meet deadlines should be marveled at and appreciated. It's not like we're respected as professional-class people (doctors, lawyers, etc.) We're just "resources" who are usually suckers enough to work unpaid overtime when needed. Don't complain when we actually do the sensible thing and leave at 6pm.
c) Putting in a fair work week and hitting internal milestones "from day one" are not the same thing.
d) Good managers stay in touch. It's part of the job. Just accept it.