A friend of mine an, MBA guy, founded a startup with almost all the coding outsourcing (the most important part of the code). His startup became well funded and he paid a heavy price for the outsourced decision.
He did not have the sourced code apparently did not bother to care about it when signing the contract because he taught once he have the money the whole thing could be rewritten easy. One thing he did not take in consideration was the downtime it will take to transition from old code to new code. The old code had serious issues and generated terrible scalability mishaps and great mistrust from customers.
By the time the code rewrite was complete the company had overspent money and had lost a truck load of customers.