Solutions:

1. No. Person A might be good but might send you to a side with only one good square. Let's say that good square is the topmost one having only one arrow pointing to it. Now, B might be good, but he sees that the second-from-the-top C circle points only to bad squares, so he sends you to the topmost C circle who is bad and sends you to one of the bad squares.

2. Only one. Even with two bad people at level D and with honest people at levels A, B and C, you might have the bad luck to arrive at a circle at C whose only acquaintances at level D were bad.

3. Observe that if two circles vouch for each other (they both say that the other is good), then they must both in fact be good. In fact we know more. If X sends you to Y, saying that Y is good, and Y says that X is bad, then X must be bad. Here is why: the accusation tells us immediately that one of X and Y is bad. If Y were bad, X must be good, but then X would not have sent you to Y. So, X must be bad.

The bottom line is that we know who is good in levels A, B and C. If the bad person corresponds to the circle at A, then we will know from either B. If it is B, then A will tell us. If A says a B is good and that B says A is good, then we can trust that B. Therefore, provided there are even two good squares, we can find them by going to all the trustworthy Cs and asking if they can direct us to someone good at level D. If none can do so, then we go to the untrustworthy C. Both of its square links must be good.