If you haven't already seen Michal Zalewski's "Guerrilla guide to CNC machining, mold making, and resin casting" [1] check it out!! He talks about how to design and make the molds from scratch. There is also the "The making of Omnibot mkII (work in progress)" [2] listed in the article.
The "manufacturing things entirely using software" dream died a little for me after I looked at this guide (which is excellent and clearly a labor of love, BTW). The amount of variables in meatspace that you have to account for (that I simply had no clue about) -- like total indicated runout, reach length, cut direction -- was mind-boggling.
When you've got thousands of dollars worth of tools at risk, you don't let software guess what to do - you can program most machine tools to damage themselves without a complaint. Software can help, but suggesting that a computer can produce a flawless CAM program for a CNC tool is like suggesting that computers should write web browsers or filesystems.
CAM programming is an art, and it requires intimate knowledge of the machine you're coding for if you hope to get a final product without too many trial and error iterations.
Your reasoning seems to be, "Since poor G-code can waste a lot of billets or even produce a hundred-thousand-dollar CRUNCH, we should write it by hand instead of generating it using computer software." That sounds exactly backwards to me.
(Computers do write web browsers and filesystems; the programs that do this are called "compilers".)
I never said they weren't! However, you still need to know about them and understand them to write the software -- and to figure out why your CNC job went wrong if the software screws up.
For instance, maybe the software is smart enough to throw a red flag if your reach length is no good for the CNC job you're going to run -- but you still have to know about it and understand the concept to set it [correctly].
[1] http://lcamtuf.coredump.cx/gcnc/
[2] http://lcamtuf.coredump.cx/omni2/