I would appreciate if you could please evaluate my proof and point out any mistakes I made.
Proof:
Since $G$ is abelian, $Inn(G) \cong \{1\}$, thus $Aut(G) = Out(G)$. But the only automorphisms possible are permutations of the elements of $G$. In addition, every automorphism must preserve the identity. Suppose $|G|=n > 2$. Therefore, $|Aut(G)|=\frac{(n-1)!}{2!}$, where $(n-1)!$ is even since all factorials $>1$ are even.
Unfortunately, your attempt to a proof is completely wrong. You can't just count permutations of $G$ that fix $1$, because they aren't generally automorphisms. Only some permutations fixing $1$ are.
The map $\iota\colon G\to G$ defined by $\iota(x)=x^{-1}$ is an automorphism of $G$ if and only if $G$ is abelian.
Clearly $\iota\circ\iota=\mathit{id}_G$ is the identity.
Let $x\in G$ have order $n>2$. Then $\iota(x)=x^{n-1}\ne x$ and so $\iota\ne\mathit{id}_G$.
Therefore $\iota$ has order $2$. So $\operatorname{Aut}(G)$ has a subgroup of order $2$.
Note that the finiteness of $G$ is irrelevant.