If you want to change the point at which check-in occurs, you can:
Create a new solution status that allows check-in, and assign that status to a task in the workflow. See Creating a New Solution Status for instructions.
Change the workflow’s tasks so that the check-in status is assigned to a different task. See Modifying Workflows for information on editing workflow tasks.
Note: It is possible to modify workflows so that solutions are checked in at every state change.