I am not a mecanic, but i am playing quite a bit with outboard engines..
I see two reasons why it runs fine in driveway but not in water.
First reason, Gaz / Air mixture might be incorrect. In fact it might be just a little bit too lean.
Other reason is Timing. It might be off a little bit, allowing it to idle properly but lack of power when loaded.
Can be both too !
What is your engine a classic 40 HP 4 cylinders ?
If so, the mixture screw in front of the carbs, located at 1:00 o'clock has to be set to ONE TUNR AND ONE QUARTER OUT from lightly seated position for both carbs. This is a starting point. Adjusted like that, the engine will start. Then while idling at about 1000 rpm on neutral, slowly turn in the mixture screw of the top carb. The engin will accelerate a little bit and then begins to run rough, when the engine will start to run rough, turn the screw OUT untiil it begins to run rough again and COUNT HOW MUCH TURN you will have given to the screw. This count is IMPORTANT. Then when in too rich condition turn the screw back HALF WAY of the TURNS YOU JUST COUNT ans set the screw about 1/8 of a turn OUT to enrich the mixture a little bit. This carb should be set. DO the same for the second one.
YOU DON'T WANT TO SET THE MIXTURE AT THE POINT THE ENGINE RUNS AT A FASTER IDLE, THIS IS TOO LEAN AND WILL CAUSE PROBLEMS, CAN MELT PISTONS AND HAVE CATASTROPHIC FAILURE IN WORST CASE, or many other problem related to an engine running too lean. An engine running too lean will also run too hot.
For the timing, i'm totally not an expert !
Can't help really.