I have written https://wiki.ubuntu.com/DashAsBinSh (a new version, to replace the spec that used to be there) to address many of these issues, and linked it from the Edgy release notes.
As far as non-POSIX constructs go, Paul Smith is right on the money with his comments in https://bugs.launchpad.net/ubuntu/+source/dash/+bug/141481/comments/4, I think. The proper analogy is a C compiler: it is not a bug in the C compiler if it stops accepting code that doesn't conform to the standard and doesn't declare that it uses an extension (in this case, by saying #! /bin/bash). This is of course not to say that the real dash bugs that have been identified here should not be fixed.