Just had another look and noticed that they are displaying the generic content dynamically, there is a literal in the UI;
<asp:Literal ID="uxTestIT" runat="server"></asp:Literal>
then in the code behind they dynamically load the required content; into the literal just as a string;
uxTestIT.Text = uxTestIT.Text + contentItem.Content.ToString();
Would I be right in thinking that this is why the URL's are not being resolved. The reason it works in some cases is because the URL's are not dynamic.
Is there another why to load generic content?