Here’s what I did to get tags working properly:
Use the following for the tags (one tag per line):
<wp:tag><wp:tag_slug>iPhone</wp:tag_slug><wp:tag_name><![CDATA[iPhone]]></wp:tag_name></wp:tag>
instead of (one tag on multiple lines):
<wp:tag>
<wp:tag_slug>tag1</wp:tag_slug>
<wp:tag_name>
<![CDATA[tag1]]>
</wp:tag_name>
</wp:tag>
The thing to remember is that they are just doing simple line oriented (and dumb regex) parsing of the XML and not true serialization (unfortunately.)
The same is true for categories.
Process_tags function can’t handle WordPress’ own tag format. This is with version 2.8.4, so I can’t speak to older versions. I think. Still testing
Very odd.
When importing your posts the comments should be contained within the post.
The XML “bucket” for a post is
<item>
<!-- post 1 -->
<wp:comment>
<!-- comment 1 for post 1-->
</wp:comment>
<wp:comment>
<!-- comment 2 for post 1-->
</wp:comment>
</item>
<item>
<!-- post 2 -->
<wp:comment>
<!-- comment 1 for post 2-->
</wp:comment>
</item>