EDIT:I botched my original answer, here's what I actually meant:
Fractions are equivalence classes of pairs of integers subject to (a,b)=(c,d) iff ad=bc, with addition and multiplication extended from {(a,1)} as a copy of the integers by multiplication defined component-wise in general.
If we allow pairs of the form (a,0) for some integer a, we have with the multiplication axioms (a,0)=(b,0) for any a and b, and in particular all of them coincide with (0,1)(a,0)=(0,0) as multiplication is component-wise.
But (0,0)=(a,b) for every pair, so our construction gives us the trivial ring. Hence, to get a non-trivial structure, we must disallow pairs of the form (a,0), including (0,0) and that gives us the rationals.
Anyway, the above is the standard reason why 0/0 is undefined. You can actually define it, though to do that you must change some of the fundamental arithmetic properties. For a fun read, check out the following paper on the topic:
http://www2.math.su.se/~jesper/research/wheels/wheels.pdf
Original answer:
By definition (or by construction) a/b, where a and b are natural numbers, is defined to be the rational number which when multiplied by b gives you a. From this you have that 0/0=0.
Different fractions a/b and c/d are defined to be equal if ad=bc. This allows us to extend the arithmetic of the integers to an arithmetic of fractions. From this you have that 0/0=c/d for every rational number c/d since x0=0 for all x in any system where multiplication distributes over addition (proof: x0=x(0-0)=x0-x0=0).
Thus, if you allow 0/0 among your fractions, and you attempt to extend the arithmetic of the integers, all your fractions must be 0.
(note: the reason you cannot allow a/0 among your fractions is when a is not equal to 0 is because if you extend the arithmetic to where you have multiplication distributing over addition, you would have 0x=0 for all x and so the existence of a/0 is only consistent if a=0, which is the case above).