I need to update the format of several workflow-generated emails. If I update my solution and redeploy, will I run into problems? Is there any good guidance on upgrading workflows?
When you use SharePoint Designer, the original workflow gets renamed and set to "No new instances" automatically. Any in-flight workflows will continue to use the original template.
For Visual Studio workflows it is a little more complicated. The recommended approach is to do a side-by-side deployment. Create a new feature and assembly. Use a PowerShell script to create new workflow associations. Also use PowerShell to set the existing workflow to "No new instances".
Another way is to keep your old WF assembly in the GAC (the in-flight workflows will continue to use this). Then increment the assembly version before updating the feature. I have a feeling that if you try to upgrade the solution it will overwrite your assembly, so you may need to do a bit of manual deployment here, so this is probably not the best way of doing it.