This may be because your stylesheet is XSLT2.0, but this is not supported by Microsoft, and so not supported by IE. I can't see anything in your XSLT sample that requires XSLT2.0, so perhaps you can try setting the version of your stylesheet to 1.0 instead of 2.0.
<xsl:stylesheet version="1.0"
xmlns:html="http://www.w3.org/TR/REC-html40"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:atom="http://www.w3.org/2005/Atom">
Also, you might want to try changing the "version" attribute of your xsl:output element to 4.0, instead of 1.0.
<xsl:output method="html" version="4.0" encoding="UTF-8" indent="yes" />
EDIT: Actually, this may be because of default behaviour in IE7.0 and above. Go into Tools -> Internet Options -> Content -> Settings (for Feeds and Web Slices), and you should see the option 'Turn on feed reading view. Try un-ticking this, and re-starting IE, to see if that works.