The audit tools will do the job. If you want to do it in pure workflow, the only way I can think of reporting the previous value is to store it in a second attribute. You'd need two workflows. The first on the record creation would simply populate the second attribute with the current value. The second workflow would do the following:
Record the new value from the original field
Record the value in the second attribute
Update the second attribute with the new value
I haven't tested it but it should be crazy enough to work.
Leon Tribe
Want to hear me talk about all things CRM? Check out my blog
http://leontribe.blogspot.com/
or hear me tweet @leontribe
Want to hear me talk about all things CRM? Check out my blog
http://leontribe.blogspot.com/ or hear me tweet @leontribe