Whoops, I screwed up. None of the ecards have </p> <p> between paragraphs. They are only present in tinymce.
The difference in the cards is the number of break tags between paragraphs. In firebug when I do “Edit html” on a buggy card text, it looks formatted, but there are no actual break tags. On a correct card text it has 2 br tags: 1 at end of paragraph and one on a new line.
On the hidden input after bad card submit there’s 2 br tags: 1 at end of p, and 1 more on new line. After correct card submit it has 4 br tags: 2 at end of p, and 2 more on new line, all with slash and formatted as ampersand gt/lt (html entities).
Hope this helps. Are you doing sanitizing or processing differently between the 2 templates or something? Or should I reinspect my templates?