If you think the math isn't working right, then here's how you check.
Make 10,000 (yes, you read that right) attacks at every 5% range. Have you done that? Good, now you've made about (exactly) 200,000 attack rolls. Make sure you logged each of those, otherwise you'll have to go back and do it again. Then compare your results to what the hit percentages say you should be getting. If the end result is within a 10% margin of error after 200,000 rolls, then the math is probably working right.
Probability isn't as easy as "I should hit when I have a 90% chance to hit".