I've run into the same issue. If I don't want multiple assemblies (as @Henrik describes) I follow these steps:
- Settings > Customizations > Customize the System
- Plugin Assemblies
- Select my custom assembly
- Select my custom workflow step affected by the upgrade
- Show all Dependencies
- Deactivate all dependent workflows
- Remove the custom workflow step from every dependent workflow (take lots of screenshots)
- Use Plugin Registration Tool to unregister the custom workflow step
- Use Plugin Registration Tool to update workflow assembly
- Update all workflows to use the new custom workflow step, referring to your screenshots! :)
- Activate all workflows
This forces all processes (workflows) to use the latest version of the assembly.
The same sequence of steps is required if you're removing custom workflow input arguments or adding output arguments
Hopefully you don't have too many affected workflows.