Intent of this post:
I realise that Workflow Foundation is not extremely popular on StackOverflow and that there will probably be not many answers, or none at all. This post is intended as a resource to people trying to customise workflow activities' appearance through custom designer classes.
Goals:
I am attempting to create a custom designer class for Workflow activities to achieve the following:
- Make activities look less technical. For example, I don't necessarily want to see the internal object name as the activity's "title" -- instead, I'd like to see something more descriptive. 
- Display the values of certain properties beneath the title text. I would like to see some properties' values directly underneath the title so that I don't need to look somewhere else (namely, at the Properties window). 
- Provide custom drop areas and draw custom internal arrows. As an example, I would like to be able to have custom drop areas in very specific places. 
What I found out so far:
I created a custom designer class deriving from SequentialActivityDesigner as follows:
[Designer(typeof(SomeDesigner))]
public partial class SomeActivity: CompositeActivity
{
    ...
}
class PlainDesigner : SequentialActivityDesigner
{
    ...
}
Through overriding some properties and the OnPaint method, I found out about the following correspondences between the properties and how the activity will be displayed:
 
 
Figure 1. Relationship between some properties of an SequentialActivityDesigner and the displayed activity.
Possible solutions for goal #1 (make activities look less technical) and goal #2 (display values of properties beneath title text):
- The displayed title can be changed through the - Titleproperty.
- If more room is required to display additional information beneath the title, the - TitleHeightproperty can be increased (ie., override the property and make it return- base.TitleHeight + n, where- nis some positive integer).
- Override the - OnPaintmethod and draw additional text in the area reserved through- TitleHeight.
Open questions:
- What are the connectors, connections, and connection points used for? They seem to be necessary, but for what purpose? 
- While the drop targets can be got through the - GetDropTargetsmethod, it seems that this is not necessarily where the designer will actually place dropped activities. When an activity is dragged across a workflow, the designer displays little green plus signs where activities can be dropped; how does it figure out the locations of these plus signs?
- How does the designer figure out where to draw connector lines and arrows?