Agnes, a clausula BETWEEN do SQL sempre espera dois valores que serão usados como intervalo para retornar os resultados.
Digamos que o seu MV_PAR08 tenha o conteúdo 000001 e o seu MV_PAR09 tenha o conteúdo 000099. Isso quer dizer que você deseja buscar todos os clientes que o código seja entre 000001 e 000099, em valores fixos sua query ficaria mais ou menos assim:
SE1.E1_CLIENTE BETWEEN '000001' AND '000099'
Já na busca por loja, digamos que o seu MV_PAR10 tenha o conteúdo 01.
Na query que você enviou por exemplo, na comparação com loja, você está buscando uma loja com um intervalo do conteúdo 01 até o conteúdo do campo E1_DATA:
SE1.E1_LOJA BETWEEN '01' AND SE1.E1_DATA
Isso pode resultar em problemas nos dados retornados pela sua query.
Caso o parâmetro de busca de loja seja só um, efetue a correção no seu código para que o mesmo fique assim:
cFiltroPRE := "% SE1.E1_CLIENTE BETWEEN '" +MV_PAR08+ "' AND '" +MV_PAR09+ "' AND SE1.E1_LOJA = '" +MV_PAR10+ "' %"
Caso exista um outro parâmetro (no caso o MV_PAR11) que seria o loja até, o seu código deve ficar assim:
cFiltroPRE := "% SE1.E1_CLIENTE BETWEEN '" +MV_PAR08+ "' AND '" +MV_PAR09+ "' AND SE1.E1_LOJA BETWEEN '" +MV_PAR10+ "' AND '" +MV_PAR11+ "' %"
Resumindo: Use BETWEEN apenas quando deseja buscar um intervalo entre dois valores. Caso contrário, basta usar o símbolo de igual (=).