There is no built-in functionality in the API that allows an object, such as a CRecord, to be rolled back across recent changes.  A possible workaround for this is to Validate and Save a CRecord object as parts of it are being modified.  If an added or changed field causes it to fail validation you will be able to Load that same object using its System Record ID to go back to the state it was in after its last Save.