I've been creating reusable workflow using SharePoint Designer 2010. You can see a screenshot of the workflow code by clicking on the below link.
My custom approval Worfklow code image
I tried different approches, like check out current list item and check in item, but the workflow gives an error like :
"please make sure item has already been checked out".
All in all, I want to check approve status from the approval process, and depending on the status I want any change in existing list item saved in a list, if approved, simply mail to creator, if rejected, changed version of existing list item should be discarded.