Bottom line is the engine is not making enough horsepower to turn the prop against the water when you shift, but is enough to stay running with no load in neutral. Reason?? There are so many variables that it is impossible to diagnose from a distance. But the most likely is simply running too slow. Try setting the idle speed up a bit. In fact you are supposed to set the idle speed while running in gear. If that doesn't help, you are going to find out why. Carburetor linkage adjustment is extremely important. Compression is ok, so it probably is not an internal engine problem.