I was able to make it work using a VirtualPathProvider, as mentioned in this article.
However, I really don't use asp.net themes (.skin files). I mean the files are there and in some cases I use it to asign css classes but never for direct style because when you do this you end up inline styles in the markup which bulks up the size of the page.
I recommend don't use .skin files and just use CSS. Though it does work so you can make your own choice.
Also I think the VirtualPathProvider doesn't work in medium trust and this is another reason not to rely on .skin files.
Hope it helps,