Well, first, why should (-1) * (-1)= 1? Also, you take for granted that -x = (-1) * x, and why should that be the case?
You had asked when the idea that multiplication is repeated addition breaks down. What does (-1) * (-1) mean if multiplication is repeated addition?
Really all these statements, including x * 0 = 0, are about the relationship between addition and multiplication. 0 is the additive identity, so why should we expect anything special about it when it comes to multiplication? The answer is that addition and multiplication are related by the distributive law:
0 * x + x = 0 * x + 1 * x = (0+1) * x = x
Thus (0 * x) is an identity element for addition, but the additive identity is unique (this can be proved using only the properties of addition) and therefore 0 * x = 0. From here we can show:
(-1)*x + x = (-1)*x + 1* x = (-1 + 1) * x = 0 * x = 0
Thus (-1)*x is an additive inverse of x, and again, we can show that additive inverses are unique and therefore (-1)*x = -x. Now we have everything needed for your proof.
Again, the idea that multiplication is repeated addition plays no role here. What actually matters is the distributive law, the meaning of "0", "1", and of "negative," and that multiplication and addition are closed (i.e. the sum or product of two numbers is a number). Those properties are part of the definition of addition and multiplication (along with the associative and commutative laws, and some form of cancellation for multiplication / multiplicative inverses) and can be taken as axioms.
(I guess we would need
as well)