The reference manual says 'Optionally, we can specify a transition name. In this case, Seam will signal the end of the current task in the overarching business process.' (4.2.5)
Whether or not you specify a transition on <end-conversation /> if a task instance is active then it will be ended.
This is because in Page.java the execute method has
if ( transition == null )
How about adding endTask="true|false" (default true) to end-conversation and altering Page.java accordingly?
This functionality would be useful if you want to 'cancel' out of a pageflow and returrn to the task at a later date.