I can't speak to the actual rational behind SimState, but I can say that I've had similar frustrations in the past. I do think that the "God object" approach is a bit easier for newcomers to learn. It's easier to think in terms of an agent that "reaches out into the world and does stuff" than an agent that "is handed exactly what it needs and only what it needs as references at construction time, and works only with those references to affect the world" (which is the approach I naturally gravitate toward).
But if you aren't careful, boy can it make unit testing frustrating! To say nothing of tracking down weird unintended side effects.
The solution I've settled on is to make sure that my "God object" can easily be partially initialized with only the components that are needed to provide indirect inputs and outputs to the agent under test. This minimizes the need for stubbing and mocking, and arguably isn't any more difficult than testing an agent that takes references to data it needs at construction time.