I've figured this out.
If you consider this feed entry:
HTML:
<item>
<title>Kaczor-donald</title>
<description><![CDATA[test]]></description>
<pubDate>Fri, 01 Jan 2016 02:09:22 +0000</pubDate>
<link>https://xenforo.com/community/media/kaczor-donald.1195/</link>
<guid>https://xenforo.com/community/media/kaczor-donald.1195/</guid>
<author>invalid@example.com (webbo)</author>
<dc:creator>webbo</dc:creator>
<content:encoded><![CDATA[<span></span>
<p>
<a href="https://xenforo.com/community/media/kaczor-donald.1195/">
<img src="https://xenforo.com/community/data/xengallery/125/125278-7914063bc5f69d8b1d05b36d397a1c13.jpg" alt="kaczor-donald.jpg" title="Kaczor-donald" width="300" height="300" />
</a>
</p>
<p>
<i>test</i>
</p>
<br />]]></content:encoded>
</item>
Notice the HTML in the "content:encoded" tag. It certainly appears to be valid (and it is). However all that displays in the actual RSS feed is the word "test".
One would assume this is coming from the bit at the bottom of the content (which is the media description) but it's not coming from there; it's coming from the "description" tag.
This was tested in Firefox. So, if Firefox sees a "description" tag, it uses that instead of the "content" tag. From what I can see, different RSS clients behave differently with this, though they all seem to consistently support the content tag, so I've made some changes here. We no longer attempt to populate the description tag, therefore the problem no longer crops up.
I'm also fairly unhappy with how the feed parses (with it using full size images) and there was another bug here anyway with regards to video thumbnails so I have taken the opportunity here to only display thumbnails now and this should equate to an overall nicer looking output.
Thanks for your patience with this. Ultimately it was down to client quirks, but I'm glad we could make a change easily enough to sort it.