Yup. My experience, as well.
That's exactly why I work like I do, now.
Unfortunately, I can't do it when I'm working for anyone else. They never let me do it the way that I do it. I have to be doing it on my own.
It works. It really works, if I write top-quality code, the whole time; even if I have to throw away or drastically refactor/write production-quality code.
My experience is that the final product:
1) Is of almost jaw-dropping quality (it was tested thoroughly, the entire time),
2) Is tailored exactly to the needs of the end-user (which deviated substantially from their original requirements), and
3) Arrives very, very quickly (this always surprises people).