Long story short, this looks like a mechanical recipe being misapplied. I don't understand your incidence matrices. Or to the extent I do understand them, then the shoe doesn't fit.
- - - - - -
If you're looking for understanding, I would strongly suggest reading chapter 21 of
Thirty Three Miniatures. A free pre-publication draft is a available here:
http://kam.mff.cuni.cz/~matousek/stml-53-matousek-1.pdf
(note to moderators: see referring page under "books" here:
http://kam.mff.cuni.cz/~matousek/ )
another place to look is:
http://math.mit.edu/~levine/18.312/alg-comb-lecture-19.pdf- - - -
Mechanically there are a few problems here. Technical nit: you aren't just counting trees, you're counting spanning trees.
In general, a clean way to do this is to lop off the final row and final column of the graph Laplacian. (Via graph isomorphism arguments it ultimately doesn't matter, but doing the outermost components is easiest.) There's a few ways to proceed. Key question: what does the graph Laplacian look like?
You can draw the actual picture associated with your incidence matrix and make the graph Laplacian by hand.
What you currently, in effect, are saying is that ##\mathbf L = \mathbf A \mathbf A^T##. The (un-normalized aka combinatorial) graph Laplacian is supposed to have the ones vector in its nullspace, such that we always have ##\mathbf 1^T \mathbf L \mathbf 1 = 0##.
But in your example ##\mathbf 1 ^T \mathbf L \mathbf 1 = \big(\mathbf 1^T \mathbf A\big)\big( \mathbf A^T \mathbf 1\big) \gt 0##. I.e. the fact that ##\big( \mathbf A^T \mathbf 1\big) \neq \mathbf 0## is a red flag that something is amiss with your incidence matrix and/or how you're interpreting / applying it.