> A recent success story of this sort of approach would be Git. That is that it was written using a combination of C, Perl, and Shell and as the program matures the perl and shell portions are gradually getting replaced. Even though git was originally written in high level languages it was able to easily out perform other contemporary version control systems that were mature and written in pure C or pure C++.
This comment is somewhat misleading. The git core was written in C from the start (but then, C is Linus's HLL). It outperformed contemporary VCSes because it took existing design work from systems like BK and Monotone and reimplemented them with a primary focus on speed. (So in that sense, it's more like the post-design optimization phase of your story.) The stuff written in high-level languages was the handy tools and UI stuff around the core, and there your story makes more sense -- quick iteration lets a thousand flowers bloom, people figure out what sort of UI is most useful, and that gets reimplemented in C for portability and ease of maintenance.