Copying part of my answer from another question on the same topic:
What you need to look at is the tradeoff. Frameworks sacrifice a little performance for the ability to reduce development time significantly. What's more important to you, raw unadulterated performance or reasonably rapid development time? Facebook wouldn't use a RAD framework for their site, but that's because the performance to them is worth more than the added development time. Likewise a small company with a single developer is likely to benefit more from a framework than the reasonably small performance hit (I say small, because the impact on each page view is minimal. The effect "adds up" with higher traffic).
As for your question on query building, you are correct. You can build better queries than the framework can (because you know your exact schema and data set). However, the reason they have query builders (and ORM, etc) is so that you don't have to. It's not bad (as commonly thought) to write raw SQL with a framework. A framework is there to help take care of the common tasks and make it easy to fly through prototyping and rapid development. However if something's not working exactly right, or you notice a performance problem, or you feel that using a query builder is overkill for a particular query, just rewrite that query in SQL. I don't know of any frameworks that try to prevent you from writing SQL. They just try to make it so that you don't have to (which is ok, since it's typically one less thing to worry about)...
Writing query builders are one of the hardest tasks in programming (that I've come across at least). There's a fine line between being too verbose (and hence making it harder to write than raw SQL) and too weak (to the point that you constantly need to drop to raw SQL). What they are REALLY good for, is if you're building an application that you want to have "modifiable" queries (where one part of the code can modify the queries of another). That's VERY hard to do without an OO query builder.
But it all boils down to this. Do what you feel comfortable with. Don't feel obligated to use a Framework's method just because it's there. If you feel more comfortable writing raw SQL, then write raw SQL. But realize that you MAY be losing some of the benefits of the framework if you do (Cross DB compatibility). If you're ok with that, then go for it. Remember, Frameworks are there to make your life easier...