It could be the coils getting weak, but typically when this happens you loose top end power after the coil gets too hot. Then once it cools down, the tractor will start and run fine until the coil gets too hot again. Not saying it couldnt be a spark issue. Yours really sounds like a fuel/mixture problem, either not getting enough fuel or not having the fuel mixture correct for higher RPM operation.
Having said all of this, there is always the issue that the carburetor could be warped and not sealing to the manifold. This is pretty common on the Kohler engines, so I'm not sure exactly of the setup on the Onan engine, but it just came to mind. However, I think when the carbs are not sealed to the manifold you can barely get the engines to run at all because the loss of vacuum doesn't allow fuel to be drawn into the engine. Again, on the Onan engine, with the carb on top of the engine rather than on the side like a Kohler engine, I'm not sure how it would act under this situation.