<p>Which scenarios, areas of an application/system, etc. are best suited for 'classic' state based testing versus using mock objects?</p>

You should be using mocks for dependencies.  I don't think that its an either-or; Usually you will create mocks for dependencies, set expectations (whether it is calls or state) on them, then run the unit under test.  Then you would check its state, and verify the expectations on the mocks, afterwards.