Are you using the ContextFilter? And is your conversation-id-parameter really "conversationId", or is it something else? (e.g. "cid")
Yes, I am using the context filter (I am able to access seam components in the servlet). I believe that my conversation id is 'cid' but I tried that as well with the same results.
The conversations do not persist beyond the servlet access (i.e. there are not 20 extra conversations listed on the debug.seam page). Just that the next conversation id started is +20 of the previous conversation. Perhaps this is expected? Or is there someway I can find out why the cid is not getting picked up by the context filter?
You could set a breakpoint in Manager.restoreConversation() and see if your conversation ID is in fact a) in the parameter list and b) has a correctly named parameter (should be equal to whatever Manager.conversationIdParameter is set to).