For that cash I'll do it! :lol:
Ok, ok, I'll be serious. I don't know why you've got such a high quote but it looks to me that's a bit high, in principle. But maybe that company had a good reason to quote like that. Did you compared prices with some other web development company with reputation?
Inefficient what? PHP? or .NET?
Each language has its own pros and cons. None of them is inefficient. In my case, I always go for PHP and Linux... not because they're better than Windows and .NET but because I can lower the costs of hosting and maintenance and also it gives me more freedom if I'm migrating. Let me expand on this a bit
Contracting a Linux server is cheaper than a Windows one (although if your company can afford those quotes, probably it is not much problem to you but in the end everything adds up) and while PHP works perfectly in Windows, .NET can have problems if you have a Linux server (basically, many objects and routines created with .NET are built only to work under Windows). And I love to have the freedom to move from one server to another without having to worry about annoying migration issues and have a wide range of options (in case that I want to move, of course). I hate to be limited by the OS.
If I use PHP, I can choose Linux... or Windows without any problem.
If I use .NET, it would be rare that I could use a Linux server... it is not that portable (basically for those objects that I talked about earlier)
Linux servers are, in general, more stable and less hacked (if anything because there's more information about Windows and most hackers love to annoy Microsoft). Although I would note here that the security of a server is really related to the skill of the guy that configured it.
Still... why would you choose programming language over the other? Well, because you need to hire someone that can do the job and you can trust, and it will depend on what he knows best. If he knows .NET you will follow that route. If he's better with PHP, then you will have a PHP site.
Of course, maintenance and future growing of the site is important, and how easy is to find someone to do those tasks in each programming language is another point to take into consideration.
Design should be given to a designer, not to a programmer. Still, this designer, ideally, should have experience with interfaces and with web... because the nightmare of a programmer is a designer that doesn't understand that the web .
Now, most programmers have enough knowledge of databases to do the job and will use a CMS which has already optimsed so you can save yourself the database expert there.
Whatever you're more comfortable with. You need to trust that they're doing a good job and that they will comply with your requirements. A company may offer more guarantees... but they can also fail as a solo programmer can (although he may not be that solo, some of us hire one or other two programmers when we feel that we can't do it on times)
You need to check what they've done before, the way they treat you, how they charge, their experience...
Of course, because this is a major job and you may want to put them to the test, giving them a small job that you may have pending and see how they handle it.
I hope this helps