Para el caso que pides de velocidad, Yo quizás usaría un Store procedure de acción, es decir, le envías los parámetros y que dentro del SP realice la búsqueda y "actualización o inserción" oportuna, de es forma sólo viaja la información en un sentido, desde el ordenador Cliente hacia el Servidor.... no hay comunicación bidireccional, por lo que es más eficiente.
El tema de usar Querys o MDOStoreProcedures... yo diría que un TQuery es más libiano (pero no me hagas caso, mira el archivo MDOStoreProc.pas y verás todo el código que inclye). Con un MDOQuery o incluso un MDOSql puedes ejecutarlo así:
Código Delphi
[-]
query1.Sql.Text := ' Execute Procedure Nombre(paramaetro)';
query1.ExecQuery;
Saludos