Definitely agree here.
Shoehorning an existing codebase into being MISRA compliant is utter hell. It's something you really need to design-in from the beginning.
Also for anyone in the audience who's going "ugh, MISRA..." -- the 2012 spec revision is a significant improvement on the 2004 version and cleans up a lot of the more troublesome rules.
Even if I'm not doing MISRA-required code, I still find myself sticking to its suggestions... "Allocate memory statically" is a really good one, especially on embedded systems.