Sorry the link element got stripped out in my post above. It looks like this:
<link rel='stylesheet' type='text/css' href='/sem/a4j_3_1_1-SNAPSHOTcss/table.xcss/DATB/eAFjlbr0AAAC6gHS.jsf' />
I found the problem. There is a compatibility issue with RichFaces and OC4J. Specifically, the Oracle parser is set to be used by default for deployed applications, and this doesn't seem to work with RichFaces. In OC4J 10.1.3, you can remove the use of the Oracle parser by your application by modifying the orion-application.xml:
Then your application should use the parser built into the JDK, and skins work!
Hope that helps anyone who runs into this issue...
I'm experiencing the same problem. I tried your solution and it works, but when the page is refreshed, e.g when a button is clicked, the skinning on the components disappear. Is there any other setting that need to be changed?