Well... it is a double edged sword.
COM is compiled code... which is nice and runs fast...
However... you have to make that damn Server.CreateObject call which could kill the performance gain you get from compiled code, especially if the COM you are calling has a ton of other stuff BESIDES just the interface for the DB query.
I would say put the DB queries in the ASP... translating ASP isn't too bad, and I would only put really computational intensive stuff in a compiled COM... like some sort of statistical analysis. So put the query in the DB as a stored procedure, and call it up from ASP. Basically, the stored procedure won't run any faster if it is called from COM or not. So stick with ASP.