No definite conclusion from me, but I do have two points.
(1) It's Mo's dog now. If I thought he should return her, I would make my case to him, but I'd leave the final decision to him. That's what working for something and paying for it and owning it means. With a 16-week puppy, pack allegiance isn't really an issue. She'll be happy in both packs. While I'm sorry the old pack is upset, its feelings do not trump the new pack's feelings. And the new pack, too, will be upset too if you return her. So, I'd make it Mo's decision.
(2) The old owners had to give the dog away because they had to build the fence and couldn't afford it. How does the owners' children's crying change that? How does the crying enable them to pay for that fence --- not to mention the puppy's upkeep --- after all? Do they want to take their chances with their landlord and risk that the dog go through the same process again when they don't end up building that fence? In deciding whether I'd advise Mo to give the dog back or not, the basis for my decision couldn't be a sob story. It would have to be a clear and credible concept from the old pack for making the puppy's life with it work.
While I'm glad I'm not in your position, I'm leaning towards letting Mo keep her.