To me it sounds like at least the first problem was part of the original implementation and hence a design decision. I think such decisions are bad when the side-effects are just as big as the benefits. In hindsight the developer had several choices: solve the problem at the same time, don't introduce the problem in the first place, mark the construct as beta quality and only accessible with flags/pragmas/whatever, document the construct as potentially dangerous etc. Ignoring the issue seems like the worst choice.
I know my complains won't fix the problem, but perhaps they will avoid the same thing to be repeated next time.