Just to clarify a little more, although I may be telling you something you already understand...
There is no such thing as a "flight following controller". There are only controllers. One of the duties that controllers do is supply flight following services. Each controller is in charge of their own chunk of airspace. They coordinate with the adjacent controllers as airplanes move back and forth across the boundaries. If you are recieving flight following services from a controller you can assume that they will coordinate with the controller whose airspace you will be entering next, no matter what kind of airspace it may be, or what kind of airspace you are in now. They will let the next controller know what you are doing, and will tell you when to change frequency to talk to the next guy. The Tower controllers, Approach controllers, and Center controllers all do (basically) the same thing, and handle flight following services (basically) the same way.
Now, that said, there are some special circumstances that you might run into, but the controllers will give you a hint about what is going on. In your example above where you crosssed MHT's airspace it was easier for the controller to "talk" to the MHT guy and "point out" your airplane and what you were doing, and get permission for you to pass through MHT's airspace and keep talking to you himself, rather than "handing you off" to MHT and then have you "handed off" right back to himself as you came out the other side of MHT's airspace. What may have confused you a little is that you asked him about crossing MHT's airspace, and then you recieved permission, when what would "normally" happen is that the controller would do exactly the same thing even if you hadn't asked. He would coordinate with the next controller and figure out the best way to handle your flight with the least amount of work for everyone.
There is another situation that you may run into on occasion, and it involves places where the communication between controllers is, well, old and antiquated. I have seen on occasion when transitioning from an approach control to a center controller for example that the controller will let you go (terminate flight following) and let you set up flight following with the next controller yourself. It doesn't happen often because most controllers will go out of their way to help pilots, but on occasion it can happen if the next controller is too busy and doesn't "answer the phone" when the first controller calls him up. In that case you may hear something like "Cessna 1234, flight following is terminated. Suggest you try Boston Center on 123.45 for service" (terminology might be wrong, idea is correct).
Just remember that VFR flight following is on a "work load permitting" basis for the controllers. Most will do their best to help you out, but sometimes they are just too busy so you might get dropped, or they will refuse to give you flight following when you call them up. It can also happen that they are so busy that they might not have an opportunity to call out traffic even if you
are getting flight following. Their first priority is keeping IFR traffic from running into each other (or the ground), so you might be suprised to see another plane go zooming by 1/2 mile away with nary a word from the controller...rare, but it can happen.
Good question by the way. Figuring out how the pieces of the ATC puzzle go together can take a lot of ciphering sometimes.
![Smile :) :)](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)