I use Auto-Rest because I can't check every game to see if I have exactly the lineup I want. If I were willing to play my starters at 95% it wouldn't be an issue, but I'm not.
The DH thing has easy work-around - just strip any secondary positions from your DHs. But it's still annoying that the engine asks you to set Rest hierarchies, which it will then cheerfully ignore if it gets the chance.
The C in CF thing has no work-around though. Having a deeper bench just makes it less likely that the situation will occur again (and it's already fairly unlikely.) But it's also a clear error in programming logic. The "you'd ***** if your resting starter came in and got hurt" argument is BS. If you were actually managing the game, gave your starting CF the day off, the game went to extra innings and your resting starter was the only CF left available to you, of course you'd use him. Anyone arguing to the contrary is just trying to stir up ****.