I have seen this happen if the metering diaphragm gets old and too stiff. You can't get it rich enough at top end unless the idle mixture screw is opened up too much, then it's way too rich at idle. Check for air leaks for sure, but you might need to rebuild the carb. You also want a lot more advance than 12 degrees. 28 degrees seems to be almost universally correct with these small engines, though my modified 23.6cc engine likes a little less at 25. The BME website (
www.bmeengine.com/html/manual.htm) has a
great section on setting up these gas motors.
Good luck,
AV8TOR