Podrías hacer una función a la que le pases una sentencia SQL y te devuelva una traducida para el motor de base de datos que necesites.
Lo que desconozco son las diferencias entre las sintaxis SQL de uno y otro motor.
Código Delphi
[-]
procedure TraduceSQL(SQL : string) : string;
begin
if (Casa) then
Result := SQL;
else
begin
...
end;
end;
StrSql := TraduceSQL('SELECT ...');