How to tell if the status of a case has changed more than once?

Hello World, 

I need to know if the status of a cases has changed more than once.  More specifically my workflows goes something like this

start -> awaiting assignment -> in progress -> {pending customer, pending development, monitor, solved} and then from here it can go back to -> in Progress if there is another problem that the customer experiences.

I need to keep track of the status and know if it goes to In Progress more than once in the case's life cycle.  What would be the best way to go about doing this?

I've had some ideas like create another column in a the table cases that keeps track if the cases has been in progress more than once with a 1 or a 0.  So 1 would be no it has only been in progress once and 0 would be yes it has been in progress more than once.

Then I could use sugar beans to get the status and know where it is in the case's life cycle.

best Regards

  James Palmisano