Implementing atmospheric haze as a shader doesn't involve stencil buffers and is quite resource-friendly, runs smoothly even on integrated hardware (see gamedev.net for tutorials). You're rendering one planet at most (distant bodies are LODded to points).
Of course, DX7 doesn't feel like shaders, so we're gonna have to wait for OGLA.
My theory is that the culprit here is LDR vs. HDR.
In Low Dynamic Range, luminance values are clamped to [0, 1]. The brightest color is simply white. The atmospheric haze is being calculated properly, however the "ring" (the halo around the planetary disc) is limited by LDR to very low luminances.
If it were rendered in High Dynamic Range, the brightest object (Sun) would have a luminance value far higher than 1 (e.g. hundreds of thousands). The ring, which is lit more directly, would also have a high luminance value, while the indirectly lit bleed (the falloff, scattering in the atmosphere) would be relatively low. The HDR image data (48 or 96 bits per pixel) would then be mapped to LDR screen output (24 bits per pixel) in a tone-mapping routine (think of it as exposure control in a camera), making only the bright parts stand out (the ISS, the halo and the Sun) and everything else pitch black.
It's the same effect that makes stars invisible on photos in space, e.g. Apollo photos or ISS live feeds.