Fiz alguns testes utilizando vários ranges de valores em comparação ao que vc tem.
O que pode ter acontecido é alguma confusão com relação aos ranges da tabela de desconto, pois você um range para quantidade e outro para valor.
Você precisa definir no resultado desconto, quando aplicar por valor e quando aplicar por quantidade. Seria interessante também separar sua tabela de desconto em desc por quantidade e desc por valor.
Os 3 primeiros prints estão corretos, como todos os valores estão >= 2 o desconto seria 5% e na ultima tabela como o valor de venda está 239,40 seria 8% pq está acima de 150.
Não sei se tem algum valor nas linhas 14 e 12 da tabela de valores.
Pode ter alguma influência ou esse ponto de definir no seu resultado quando o calculo é por valor e quando é por quantidade.