I am slightly concerned by the DSL thing, because I don't want each embedded projects to have specific dialects like we can see on LISP projects.
But, on the average, gains are high: modules ! tests ! Inline contracts and model checking ! Very nice state machines ! I like that !
Also, why C99 ? There's hardware where only C89 compilers are available...