I haven't dug into your database to see what's what. I had a quick look and I'm not sure I would set it up quite like that for the following reason, which may or may not be valid in your case.
I don't think you should work from the point of view of an enquiry, I think you should work from the point of view of a customer.
Now I completely understand why you should want to work at it from the enquiry angle because I should imagine initially you are not sure who the customer is, they are just someone ringing up and asking for a price.
The problem is how do you handle that situation? It's not a sale to the customer, it's just an enquiry which might turn into a sale. Logically it's an enquiry first and then possibly a sale. However there's another way you can think about it which I've found more beneficial in the long run. You probably have "Cash Customers" --- people that do not really want you to know their name, probably because they don't want to be traceable for some taxing reason.
Businesses often have an account called "Cash Customer" to cater for this, and that's what I'm suggesting, you work at it from the customer position. Now your main form would handle the customer details, and in the case of not knowing the customer's name you could select cash customer and as order progresses, it could turn into a sale and you may or may not get the customers details. If you get the details, then you just add their details into the customer list and then change cash sale to the actual customer name.
It's not ideal because you can end up with lots of cash customer >Sales< and it might be difficult to find the particular one you were just handling.
I'd also be interested in seeing if anyone else has solved this problem from a different angle...