had same problem on my gakart multiple times. when u run them hard things will come loose. heres what you need to look at.
first the clutch on the engine. there is a bolt holding clutch on to crank. make sure it is there and that there is a washer on it big enough to hold it on the crank.
there is also a snap ring that holds the outer clutch shell to the main body of the clutch. make sure its there or it will have too much movement. if it is missing the crank bolt and washer will keep it on but it will move too far causing a problem like you have. if you push the outer shell towards engine you should see the groove it sits in. should be able to find replacement at hardware store.
this next is a comob of things that align the chain.
if you have a live axle (axle connecting and driving both rear wheels) the sprocket on the axle should have a set screw to hold it in place which can sometimes vibrate out. this will cause the lower sprocket to move on axle causing a condition like yours
if you have a single driven wheel make sure the sprocket is tightly mounted to wheel and the wheel is tight on axle
most engine mounting plates are elongated to allow adjustment. if your bolts are loose or your bolts are too small (i think most engines are drilled with 3/8 mounting holes, so if you are using 1/4" bolts) it can move allowing the engine to be too far over causing your problem
let us know what you find
Trikes: All Honda: 84 250r, 85 86 and 87 250sx, 84 and 85 125m, 79 82 84 and 85 110's, 73 us 90 and 77 atc90, 75 atc70
Cycles: Honda: 71 cb100, 78 cb750 coming soon cb750 trike. Yamaha: 67 yds 3 (250cc, 2cyl, 2 stroke), 82 750 SECA
Other toys: Chenoweth VW sandrail dune buggy, old race go kart, racing mower, 76 Arctic Cat Pantera 440 snowmobile
KEEP IT ON ALL 3 OR AT LEAST 2 AT A TIME