CCK and rules have been one approach to the workflow-problem in the past/D6. Johan Falk of nodeone recently posted a proof of concept for a workflow field in D6 (w/ CCK + Rules etc.). We are great fans of the rules-module and we found his suggestions compelling - so we went ahead to try to implement/port the proof of concept in/to D7 :)
wf_field - simple workflow functionality as a field in D7 (experimental) from flink on Vimeo.
If you want to try out the module - consider using the installation profile, that comes preconfigured with the sample rules & content types.
BTW, I just read there is a Workflow as a Field-BoF at DrupalCon Chicago (i wish i could be there, sigh) ... I'll try to figure out what comes out of that BoF & will maybe blog about some more advanced aspects of this whole thing - e.g. persisting workflow steps ("state instances") w/ + for metadata, workflow on other entities, multiple concurrent workflows on one entity, developer-friendly "workflow" wrapper around entities à entity.module etc - some time in the near future ...
Please note: We have been using it as test case for grokking new D7 fields-apis (and the code shows this & isn't stable yet). If you want to take a preconfigured setup for a spin, there is full install profile (or lightweight a "install-profile.makefile" or just a feature)
Assuming you have drush installed and are on some *NIXy system - installing a test system is as easy as this (yay, to D7!).
drush dl drupal-7.x --drupal-project-rename=d7_wf_field_test
tar -xzvf wf_field_test-20110505.tgz
drush si wf_field_test --db-url=mysql://USER:WITHSOMEPASSWORD@localhost/d7_wf_field_test
Open your browser (e.g. http://localhost/d7_wf_field_test/user/ and login in as admin:admin). You will need to add a non-priviledged user to test out the permission integration. Permissions have already been set by the feature/profile.