
As several have pointed out, you can get much better results with a higher resolution texture. For this image, I used a 1024x1024 texture:

It's much better, but the pixelated edge is still very apparent. And, it's wasteful--Celestia's using a megabyte for a texture that's nothing but a black circle. I could use an even bigger texture, but even at the max size of 4096x4096, ugly artifacts at the edge of a sharp shadow would still be apparent.
Newer graphics hardware (GeForce FX and Radeon 9500+) allows you to download small programs called shaders that are run at every pixel. Planet shadow textures are a perfect application for pixel shaders, since a circle (actually a cylinder, since we're dealing with a shadow volume) is so easy to describe procedurally. Here's the result:

This shadow has a resolution that's effectively infinite (limited only by the precision of 32-bit floating point number on NVIDIA hardware, or 24-bit on ATI cards.) No shadow texture at all is required. I added a slight penumbra to the shadow not to hide an ugly shadow edge, but for realism: the sun is an area light source and Saturn's atmosphere scatters light
resulting in a soft edge to the shadow. When using textured shadows, Celestia had to create separate textures for several penumbra widths. There are four different ones for eclipses, depending on the relative apparent diameters of the sun and occluding planet discs. With pixel shaders, the penumbra width is just a pixel shader parameter so Celestia's no longer restricted to a fixed set of shadows. Eclipse shadows can be rendered more accurately and without using a byte of texture memory.
Pixel shaders also make it very easy to add the ambient light that was missing in shadows on rings.
Normal:

Pixel shaders:

It's not impossible to add ambient light with the textured shadows, but it's harder . . . I plan to do a lot more with pixel shaders in Celestia--better shadows are only the beginning.
--Chris