I cannot follow the argument from your book, at least the way it's written here.
The way I would prove the fact is that, being positive definite, we can write $A=F^*F$ for some matrix (you can take $F=A^{1/2}$ if you know functional calculus, but the point is that such an $F$ exists).
And then use the fact that the eigenvalues of a product do not change if you write the product the other way. So the eigenvalues of $AB=F^*FB$ are the same as those of $FBF^*$. This last matrix is clearly Hermitian, so it has real eigenvalues.
Edit: I noticed that I never explained what happens with the reasoning in the question. What happens, if one actually use the $A,B$ given in the question with $\lambda=i$, is that
$$
\langle BABx,x\rangle=\langle ABx,Bx\rangle=\lambda\,\langle x,Bx\rangle=0.
$$
So one cannot conclude that $\lambda$ is real.
If $B$ is invertible, then you can rewrite this equation as $B^{-1}Au=\lambda u$, so you get an ordinary eigenvector equation, and thus you get all the properties of normal eigenvectors.
Moreover, if $A$ is invertible, you can rewite the equation as $\lambda^{-1} u = A^{-1}Bu$ to again get an ordinary eigenvalue problem (however note that in this case, the vectors from $B$'s null space cannot be generalized eigenvalues, despite being eigenvalues of $A^{-1}B$, because $0$ has no inverse).
The interesting case of course is is when $B$ is not invertible. Obviously if the intersection of the null spaces of $A$ and $B$ doesn't vanish, every vector from that intersection is a generalized eigenvector to an arbitrary generalized eigenvalue (because then the equation reduces to $0=0$ irrespective of $\lambda$). Moreover, if $v_0$ is in the intersection of both null spaces, and $v$ is a generalised eigenvector with generalized eigenvalue $\lambda$, then $v+v_0$ is, too.
If $v$ is in $A$'s null space, but not in $B$'s, then it is a generalized eigenvector to the generalized eigenvalue $0$. If $v$ is in $B$'s null space but not in $A$'s, then it cannot be a generalized eigenvalue.
I guess for vectors $v\perp \operatorname{Ker}(B)$ the problem can again be reduced to an ordinary eigenvalue problem, but I don't currently see how.
Best Answer
Suppose $Av_1=\lambda_1Bv_1,Av_2=\lambda_2Bv_2$.
Then $\lambda_1v_2^*Bv_1=v_2^*Av_1=v_2^*A^*v_1=(v_1^*Av_2)^*=(\lambda_2v_1^*Bv_2)^*=\lambda_2v_2^*B^*v_1=\lambda_2v_2^*Bv_1$
As $\lambda_1,\lambda_2$ are real and distinct, $v_2^*Bv_1=0$.