When I've hosted our O gauge club at my home layout, I've had the same engines/trains running for up to three hours non-stop. That said, when we hold public functions on our club layout, I'll bring several engines in the same road name and rotate them out every hour.
I'll also note that if I plan on running engines for an extended period of time, I'll always perform a complete lube and oil of them before hand. Better safe than sorry. I also keep a maintenance log of exactly when an engine was serviced and what work was performed.
Curt