I have been in the end-to-end manufacturing business for a while now. When I started, I was effectively a "work-for-hire" business, looking for anyone that wanted to design something. I learned this same lesson quite a few times from a number of different angles. I undercharged, under-communicated, under-estimated, etc, etc....
I had a full shop with CNC machines and expensive software that I could barely keep going. Of course over time, I learned to better manage customers and projects to avoid most tough situations like OP wrote about. I eventually added electronics to my offering to augment my mechanical designs which made my projects even more complicated. After a few years, I found that I spent more time planning to not get ripped off by 'writing EVERYTHING possible on paper and getting client approvals that would hold up in court - I was not longer designing at all. To stay "safe" was very time consuming.
I ended up firing all of my clients and designing my own line of products in my industry. Now I have customers, not clients and it is way better for me. I am certainly not suggesting that everyone do the same. Only wanted to illustrate how hard it is to do engineering for hire. It is a very mysterious profession that is both creative and technical. It is very hard for even the most seasoned engineers of designers to anticipate all the details and time that will go into a project. With that said, almost all clients push hard for a hard price and a specific time table while having no understanding of what may be involved. No matter what you write down, the specs love to shift and change even with everything seemingly written down. At that point, it does not matter who is right and who is wrong - you and your client are now stressed because he/she just realized it was not the right spec in the first place and they are trying real hard to say that your design is not right.
I did have some really great and smooth project with great clients. Now, customer of mine makes any design decisions, they just decide yes/no to buy. If most say no, I revise the design. If most say yes, I move into manufacturing. Miraculously, I am much happier.
