The thing about Chef to remember is that idempotent management of resources in recipes is only part of the story. That is, Chef Solo is great for the recipe execution engine, but you lose a lot of benefit in having the Chef Server.
The system integration aspects, where search discovery and describing the infrastructure as data[0] come into play, using chef-client will give you more consistent results than using chef-solo in non-production environments.
This is one reason why the environments feature of the Chef server was written and implemented the way it was.
[0]: e.g., data bags, but to a different extent node attributes