Hi Peter,
I'm not quite sure if this will help but here my tough:
After your first roolback, your record should be back to your original value, if you don't see that on your screen maybe you need a refresh(). Once your back to original values, if you don't change anything or do not reassign your values to your record, then commit will not do anything because nothing is changed.
Diane Robitaille eng.