Why is the grade of the wedge product of two arbitrary blades the sum of the two blades' grades independently? I'm reading Geometric Algebra For Computer Science, An Object Oriented Approach to Geometry and it says that this is true of any two arbitrary blades.
$\ grade( \textbf{ A} \wedge \textbf{B})=grade( \textbf{ A} )+grade(  \textbf{B})$
However, it seems like this is wrong, since 
$\ 0=grade( (e_1 \wedge e_2) \wedge (e_2 \wedge e_3)) \\=grade(e_1 \wedge e_2) +grade (e_2 \wedge e_3)\\ =grade(e_1)+ grade( e_2) +grade (e_2) +grade( e_3)=4$
Is this formula incorrect or am I using it incorrectly, and how?
 A: I don't think there's any issue here.  $(e_1 \wedge e_2) \wedge (e_2 \wedge e_3)$ is the zero 4-vector.  It should not be confused with the zero scalar, although in geometric algebra, we can and often do use the same symbol (0) to denote any zero $k$-vector, or whole linear combinations of these zero $k$-vectors.
I would say the grade of the zero 4-vector is still 4.
A: You ask: "Why is the grade of the wedge product of two arbitrary blades the sum of the two blades grades independently?"
The answer is that this is the definition of the wedge product. Why is this the definition? Because it is useful.
About the grade of 0. If the grade-k multivectors are to be a vector space (highly desirable), then the grade-k multivectors must contain a zero. 
A: There is no actual function $\text{grade} : \text{Cl}_n(\mathbb{R}) \rightarrow \mathbb{N} $ defined on the whole geometric algebra. What could we say is the grade of, for example, $1 + \mathbf{e}_1\mathbf{e}_2$?
I'm afraid what's in your book is rather informal; you should not think of grade as a function but rather in terms of set membership. That is, if $\mathbf{A}_1$ is a $k_1$-vector and $\mathbf{A}_2$ is a $k_2$-vector, then $\mathbf{A}_1 \wedge \mathbf{A}_2$ is a $(k_1 + k_2)$-vector.
What does this mean formally? Remember that the geometric algebra is isomorphic to the direct sum of the $k$-vector spaces, each of which I notate $\wedge^k (\mathbb{R}^n)$, for $k \in \{0 , ... , n\}$. What this means is that for each $k$ there is an inclusion map $i_k : \wedge^k(\mathbb{R}^n) \hookrightarrow \text{Cl}_n(\mathbb{R})$ taking each $k$-vector to its counterpart in the geometric algebra. So if $\mathbf{X}$ is in $\wedge^k(\mathbb{R}^n)$, think of $i_k(\mathbf{X})$ as meaning "the same thing as $\mathbf{X}$ but now we're considering it as an element of the whole algebra instead".
So essentially, if the book you're reading were trying to be more formal, it might say that if $\mathbf{A}_j$ is in the image of $i_j$ and $\mathbf{A}_k$ is in the image of $i_k$ then $\mathbf{A}_j \wedge \mathbf{A}_k$ is in the image of $i_{j+k}$, instead of writing the formula above. Indeed, the zero element lies in the images of all the $i_k$, so this formulation holds true.
But since the book is written for computer scientists, I can understand why the author didn't get too deep into inclusion maps.
