I developed a skin for the DotNetNuke Repository module (v. 03.01.10), and struggled to get the skin to render properly. The problem was caused in the module settings - the cache timeout had been set in order to improve the performance. In order to get the module to render properly the Cache Time in Module Settings -> Page Settings had to be set to zero.
When you are logged in as admin or host the modules are not being cached, and you see the expected output. As soon as you open the page anonymously or with a regular user the output doesn't render properly. In my case this rendering had two effects: the [RATINGS] tag was outputting an extra </td></tr></table> and throwing out my whole DNN skin. Also, the resources stored in the Resx files are not read, so all the field labels came out blank.
Initially I tried reinstalling the module with no effect. I then threw a second repository module on the page and found that it worked fine. After comparing the two modules I found that the broken one had its cache timeout set to 1200 seconds.
I guess the moral to the story is "never set a Cache Timeout value on the module settings for the DotNetNuke repository module".