It sounds like you want to copy only the comments from the input XML. And you're saying that your stylesheet copies certain comments but not others? When you say "comments which are in parent node", do you mean comments that are children of the root node (i.e. outside of all elements)?
When I try this stylesheet it works fine. Specifically the XSLT
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<comments>
<xsl:for-each select="//comment()">
<comment><xsl:value-of select="."/></comment>
</xsl:for-each>
</comments>
</xsl:template>
</xsl:stylesheet>
run against the input
<?xml version="1.0" encoding="UTF-8"?>
<!-- foo -->
<a>
<!-- bar -->
<b>
<c><!-- baz --></c>
</b>
</a>
gives the output
<?xml version="1.0" encoding="utf-8"?>
<comments>
<comment> foo </comment>
<comment> bar </comment>
<comment> baz </comment>
</comments>
If this is not the behavior you wanted, or if yours still doesn't work on your input, can you post your whole stylesheet and a sample of your input XML, and show what the current output is? Also what XSLT processor are you using?