We have a dispatch that automatically checks files out on a "New Revision" transition. Works great if using the explorer interface, but only partially works inside of SolidWorks.
Here is out workflow.
This is the dispatch that makes it happen.
And the error if attempting the "Change State" from inside of the SolidWorks interface.