Proving an argument to be invalid The following argument is said to be invalid in my book.
All dogs are animals.  
All cats are animals.  
Hence, all dogs are cats.

While this clearly sounds invalid, if we try to prove it, does this really comes out invalid, I mean it seems to be valid?
Here's my proof:
1. (x)(Dx ⊃ Ax)
2. (x)(Cx ⊃ Ax)
    [ Therefore, (x)(Dx ⊃ Cx) ]
3. Proof by contradiction, assuming the opposite of conclusion: ~(x)(Dx ⊃ Cx)
4. Therefore, (∃x)~(Dx ⊃ Cx) {from 3}
5. Therefore, ~(Da ⊃ Ca) {from 4; Drop existential}
6. Therefore, Da {from 5; Simplifying}
7. Therefore, ~Ca {from 5; Simplifying}
8. Therefore, (Da ⊃ Aa) {from 1; Drop universal}
9. Therefore, (Ca ⊃ Aa) {from 2; Drop universal}
10. Therefore, Aa {from 6 and 8; Inference rule}
11. Therefore, ~Aa {from 7 and 9; Inference rule}
12. Therefore, (x)(Dx ⊃ Cx) {from 3; 10 contradicts 11}

 A: $D_x$: $x$ is a dog
$C_x$: $x$ is a cat
$A_x$: $x$ is an animal
You are asking if the following argument\implication is valid:
You can express the argument as an implication which simply takes the (conjunction of the two premises) $\rightarrow$ (conclusion):
$$[\forall x(D_x \rightarrow A_x) \land \forall y(C_y\rightarrow A_x)] \rightarrow \forall x(D_x \rightarrow C_x).\tag{$*$}$$
This is satisfiable if the conjunction of the premises were false (in some possible world or model), then anything can follow, even absurdities (and despite what we empirically know to be true in our world).
You can conclude that the  argument, which is represented here an implication $(*)$ is not tautological (i.e., it is not true in all possible worlds).

Edit: Regarding your proof: 
Step $(11)$ is not a valid inference, from 7 and 9: If you have $C_a \rightarrow A_a$ and $\lnot C_a$, that does not imply $\lnot A_a$. Recall that $$C_a \rightarrow A_a \equiv \lnot C_a \lor A_a\tag{9}.$$ So from the premise $$\lnot C_a\tag{7}$$ together with $(9)$, it does not follow that therefore $\lnot A_a$.
A: The statement "All X are Y" is a colloquial way of saying "Everything that has property X has property Y."  The "are" here does not mean "equal" in the way that "is" means equal in "1+2 is 3."
In particular, if you were able to deduce from "All X are Y" and "All Z are Y" that "All X are Z," then any statement of the form "All X are Y" would imply "All Y are X," assuming we take as self-evident that "All Y are Y" is always true.
In reality, "All X are Y" is a "subset" statement - the collection of things with property X is contained in the collection of things with property Y.
One way of writing "All X are Y" in logical notation is to say $\forall x: X(x)\implies Y(x)$. 
As I said in comments, your argument at the top is not a complete argument, because you don't tell us what rule of inference you use to deduce the third line from the previous two.
In formal mathematics, it simply is not a valid proof unless there is an explicit declaration of the rule used to deduce the next line from the previous lines.
In the real world, people don't always write down explicit reasons for each step, so when someone writes an "argument" that I think is wrong, I look at the steps and ask, "why do you think this step is valid?" and the person is required to give me a logical rule of inference that I can test against the step, or the step is not valid.
A: step 11 is wrong.
you have $Ca \rightarrow Aa$  and (~a). It does not follow that (~Aa). It would have followed, if #9 read $Ca \leftrightarrow Aa$. The #9 clause means that ~Aa would force you into ~Ca. Not the other way around.
Think about it this way:
All cats are animals.
Felix is not a cat.
it does not follow that he's not an animal.
But if felix were not an animal, then it would follow that it's not a cat.
