If you really want companies to build prototypes, they have to have some skin in the game. Otherwise you are all but ensuring fraud.
Maybe you could stipulate that each company has to meet a minimum bar in order to get that $15 million. Maybe advance some of the money up front, then pay the rest if they meet the bar. If they fail to meet the bar, they have to give back some of the money.
In any system you implement you need to give a lot of consideration to how someone might abuse the system because someone absolutely is going to at some point.
Administering this type of procurement arrangement, while certainly important to all the points you have raised, has very little to do with the success of building and delivering healthcare.gov.
The solution is obviously to pick good companies, not lemons. Except, that was the whole problem in the first place.
If we're so clueless that we can disambiguate from companies in this fictional scenario, then we're hosed anyway.