Valerio
1 - verifica se os dados q vc está passando são do mesmo tipo q se encontram no BD
2 - experimenta "quebrar" o sql ... passando os valores parcialmente ...é mais facil de debugar
ex
SQL= "Select * from Cadastro where FormadePagamento = " & "'" & Pagamento
(testa,,,,.).... passou?...acrescenta mais uma parte...
SQL=SQL & "' or TipodeDebito = '" & Debito & "'" & Condição
repete o teste....
sql=sql & " order by DatadeVencimento"
eu acredito q o motivo esteja no primeiro item.... mas este método de quebra sempre funciona melhor do q um sql gigante