A working method would be to use \pgfmathtruncatemacro instead of \multiply. This will calculate the result, and truncate the decimals. If you need decimals, you can use \pgfmathsetmacro.
As an aside, one disadvantage of using \def as opposed to \newcommand is that it won't tell you if you're redefining an existing macro. In this case, \aa is the macro for printing an "å". In general, redefining existing macros is not good practice, unless you, to quote cfr, "are absolutely sure you know what you are doing and why".
Unfortunately, \pgfmathtruncatemacro and \pgfmathsetmacro do not check for existence of the macro either.
\documentclass[border=2mm]{standalone}
\usepackage{tikz}
%\newcommand\aa{3} % causes error, command \aa already defined
\newcommand\aaa{3}
\newcommand\bb{1}
\pgfmathtruncatemacro{\qq}{\aaa*\bb}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}
\matrix[matrix of math nodes]{12 & \qq\\};
\end{tikzpicture}
\end{document}
\multiply\aa by \bbis wrong if\aais no count register. – Jun 10 '16 at 16:00