dx не равен нулю, а стремится к нему. Это значит, что каким бы малым мы ни сделали dx, всегда будет выполняться условие dx > 0.
Возьмите единицу. Разделите её на десять. Потом результат ещё раз на десять, и ещё, и ещё... Сколько бы раз вы ни делили, ноль вы не получите, хотя число с каждым делением будет уменьшаться в десять раз, стремясь таким образом к нулю, но не достигая его.
Возьмём какую-либо функцию, например f(x) = x2
Соответственно f(x+dx) = x2+2·x·dx+dx2
f'(x) = (f(x+dx)-f(x))/(x+dx-x) = (x2+2·x·dx+dx2-x2)/dx = (2·x·dx+dx2)/dx = 2·x+dx
Соответственно, при dx -> 0 получим f'(x) -> 2·x