First, did the motor ever run correctly for him? When did the problem start? (these are important questions)
Next, for sake of diagnostics I'm going to assume that the carb job is done correctly. If you pulled the jets out and soaked the carbs over night and BLEW all the little holes out with compressed air, hopefully you got it all clean. The compressed air part is important because on these smaller engines the little passages in the carbs are quite small.
The reason I asked if it ever ran correctly is because I had a huge headache on a motor I got for free once. It would idle fine and be ok up to 50%, but over that it would bog out. It was running too rich. It had 3 carbs and it turned out that somebody switched the main jets with the bowl vents on 2 of the carbs. The bowl vents look like the jets, but are bigger orifices.
And lastly, if all is well on the carbs, these outboard engines usually have two sets of ignition components. One for high speed and one for low speed. I'd have to dig and look up info on a 25hp johnrude, but the bigger mercury flavors have a high speed section of the stator and a low speed section of the stator that is used to make the electricity to send to the coils for different RPM.
Also, the timing advance is controlled on most outboards by rotating the pickup underneath the flywheel. This normally doesn't change with time...so if the motor used to run correctly and nobody messed with it, it is likely fine.