My initial thought:
In regards to “Generating your own stars”: This can be done using a noise equation in world coordinates. It is a bit tricky getting the right pattern so it has no tileable effects at such a large scale. I have successfully done this though using absolutely no texture information. Just the math nodes.
Here is an example of one I built for a very specific effect. So this won’t work for stars, but it shows a type of noise generation.
Noise Example: http://eat3d.com/files/mat_objectstaticfx.jpg
If you generated the right noise function, you could then align the size to the camera aspect ratio and run an equation that would constrain the values. So even if you got extremely close to the sky dome, it would still look like the stars were far away. This would be done by multiplying the noise resolution function by the distance of your ship / camera, and generating more noise based on distance. In effect - the closer you get, the more noise is generated, the farther you get, the less noise is generated. What this would do is effectively create an optical illusion that no matter how close, or how far, the star count would remain the same, the size would remain the same, etc. etc.
This is one of those situations though where there are multiple ways to accomplish the same thing. One of the other topics I noticed is you were having trouble with the moon rendering behind the stars? Have you thought about using the moon radius as a mask to block out the stars? Something else you could do is put the stars on their own geometry, disable certain rendering passes, then setting it to render in the background.