I first raised this issue in October 2012; then I moved it as a pull request on Github when drush development moved there. Eventually, @weitzman worked out his own fix for it, as part of other things he was doing. The final result is not too dissimilar to what I had proposed and achieves the same results. Cool!

You can learn about the details of the issue by following the links above to the original issues on both d.org and Github.