Confusion in the derivation of convolution formula
Your confusion stems from abusing the time invariance property.

Let's restate it for a simple 1D system:

$$ \text{if} ~~ T\{ x(t) \} = y(t) \implies T\{x(t-d) \} = y(t-d) $$ is correct but the following

$$ T\{ x(-t) \} = y(-t) ~~~\text{is wrong in general} $$ 

Now in your derivation you replace the input $\delta(t-\tau)$ with time reversed input $\delta(\tau-t)$ and claim the same on the output as $h(t-\tau) = h(\tau-t)$ which is not true as shown above.

The solution comes simply by recognizing the fact that $\delta(t-\tau) = \delta(-(t-\tau)) = \delta(\tau-t)$ and then proceed only with the $\delta(t-\tau)$ case as Marcus have stated.