I am unsure of the proof of associativity. So far I have: \begin{align} [f\ast (g\ast h)](n)&=\sum\limits_{ab=n}f(a)[g\ast h](b)\notag\\ &=\sum\limits_{ab=n}\left[f(a)\sum\limits_{cd=b}g(c)h(d)\right]\notag\\ &=\sum\limits_{acd=n}f(a)g(c)h(d)\notag \end{align} \begin{align} [(f\ast g)\ast h](n)&=\sum\limits_{ab=n}[f\ast g](a)h(b)\notag\\ &=\sum\limits_{ab=n}\left[h(b)\sum\limits_{cd=a}f(c)g(d)\right]\notag\\ &=\sum\limits_{bcd=n}f(c)g(d)h(b)\notag \end{align} $$\therefore[(f\ast g)\ast h](n)=[f\ast (g\ast h)](n)$$
I am a little uncomfortable with the last jump to equality, though. I understand that the functions and factors are arbitrary so they can be said to be the same, but aren't $a$ and $b$ fundamentally different from $c$ and $d$, because we define $cd=a$ or $cd=b$? It seems like the $c$ and $d$ factors would be different.
Short answer: they are the same because we have removed all restrictions on the factors except that their product is $n$.
Long answer: To expand on the above: you reach the point in your expansion of $(f*g)*h$ of $$((f*g)*h)(n)=\sum_{acd=n}f(a)g(c)h(d).$$ The definitions of the summation variables cannot be dependent on anything except what is given in the formula. Therefore it does not matter that $cd=b$; we care only that $acd=n$.
In fact, a more explicit reason is that we defined $cd=b$, but $b$ does not appear in the final formula; and since we know that $ab=n$, saying that $cd=b$ is equivalent to, and no stronger than, saying that $acd=n$, which we already have.
The second expansion is equal to it because there is no difference between $a$ and $b$; we define $cd=a$ here, and since we remove $a$ from the formula, the restriction vanishes as above. Therefore $b,c,d$ are simply arbitrary divisors of $n$ and we may choose to rename one of them $a$ if we so wish. As it turns out, we do so wish, since doing so renders the expressions equal and completes the proof.