I'm using a revised version of one of my comments as an answer.
One day, when I'm not as busy as I am now, I'll try to write this in a format that works here (copying and pasting doesn't work), but for now I'll just cite something I wrote back in 2003. At the time I was having trouble posting to a certain discussion group where it came up, so I emailed my comments to the original poster, who then posted my comments. A few months later my short essay was reposted in the Winter 2004 issue of North Carolina Association of Advanced Placement Mathematics Teachers.
See also these two Math StackExchange questions:
Where is the flaw in this argument of a proof that 1=2? (Derivative of repeated addition)
A contradiction involving derivative
(ADDED NEXT DAY) I had a few minutes free just now . . .
Some have said that the issue has to do with $v$ not being integer-valued. However, that's not the essential point, since we could consider the situation where $u$ and $v$ have integer values in the trillions (or $10^{100}$'s, or $10^{1000}$'s, etc.) and increment $u$ and $v$ by small integer amounts, which should provide very close approximations to the behavior of the corresponding differentials, but Awal Garg's calculations do not give close approximations. In fact, Awal Garg's version still shows up in the limit by allowing $u$ and $v$ to be arbitrarily large integers and incrementing them by integer amounts.
robjohn's comment above gives me an idea of how to show what's going one without drawing the rectangles and stars that were used in my 2003 explanation.
$$uv \;\; = \;\; \overbrace{u + u + \dots + u}^{v\;\text{times}}$$
$$uv + {\Delta}(uv) \;\; = \;\; \overbrace{(u + {\Delta}u) + (u + {\Delta}u) + \dots + (u + {\Delta}u)}^{v + {\Delta}v\;\text{times}}$$
$$= \;\;\overbrace{u + u + \dots + u}^{v + {\Delta}v\;\text{times}} \;\; + \;\; \overbrace{{\Delta}u + {\Delta}u + \dots + {\Delta}u}^{v + {\Delta}v\;\text{times}}$$
$$= \overbrace{u + u + \dots + u}^{v\;\text{times}} + \overbrace{u + u + \dots + u}^{{\Delta}v\;\text{times}} + \overbrace{{\Delta}u + {\Delta}u + \dots + {\Delta}u}^{v\;\text{times}} + \overbrace{{\Delta}u + {\Delta}u + \dots + {\Delta}u}^{{\Delta}v\;\text{times}}$$
$$ = \;\; uv \; + \; u({\Delta}v) \; + \; ({\Delta u})v \; + \; ({\Delta}u)({\Delta}v) $$
Therefore,
$$\left[\, uv + {\Delta}(uv) \, \right] \; - \; uv \;\; = \;\; u({\Delta}v) \; + \; ({\Delta u})v \; + \; ({\Delta}u)({\Delta}v) $$
At this point Awal Garg got $\;{\Delta}(uv) \; = \; ({\Delta u})v,\;$ and we're getting two additional terms. One of these additional terms is not a "first order smallness term", so we can drop it, leaving us with
$${\Delta}(u \cdot v) \;\; \approx \;\; u \cdot {\Delta}v \; + \; {\Delta u} \cdot v \;\;\; \text{(approximate version for positive increments)}$$
$$d(u \cdot v) \;\; = \;\; u \cdot dv \; + \; du \cdot v \;\;\; \text{(exact version for infinitesimal increments)}$$