See forum post :
The problem is that when you use the <begin-conversation> tag in pages.xml with a pageflow. Any time the page is rendered within the pageflow, Seam attemps to re-perform the conversation requirements. (starting, joining or creating a new nested conversation).
Note, this is only a problem when using a pageflow, without a pageflow, everything runs fine.
If you use @Begin annotations on a method with a pageflow, then everything is fine.
If you use s:link with conversation and pageflow attributes, then it runs fine.
For the different attribute options, here are the results :
<begin-conversation> results in an error (beginning conversation from long running conversation) as it tries to start a new conversation
<begin-conversation join="true"> works ok because it just joins the conversation it started first time it hit the page
<begin-conversation nested="true"> causes a new nested conversation to be created each time the page is rendered
Somewhat similar to issue http://jira.jboss.org/jira/browse/JBSEAM-608 which was related to the pageflow re-starting on each render, except now it is the conversation that is trying to re-start on each render.
At the end of my attached forum post, I describe why using just join=true is not a practical solution for more complex scenarios involving nested flows, and additionally, it makes nested flows impossible to use from pages.xml.