Ok so.... I've realised that it's the game's normal scaling procedure fighting against my 3D engine. When the camera is zoomed in or out, the game's native 2D scaling tries to move them to where they ought to be in a 2D scheme, but then the 3D engine gets the updated GetCameraScale, and moves them back again. This is what causes the jitter which now foreshadows my days and haunts my nightmares.
I've tested the code in ScreenDraw as-is. While the stars are all over the place, and move in bizarre and completely incorrect ways, the jitter bug is definitely not there.
So there it is. The tantalising solution to all problems lies in rendering the stars inside ScreenDraw instead of LevelDraw. It's going to be hella-difficult though.
Okok... so the reason it looks all funky after simply being copied and pasted into ScreenDraw, is that LevelDraw (where is was before) considers all coordinates to be positions in the 2D plane of the level, whereas ScreenDraw considers them to be coordinates on the screen - literally on your monitor - I assume ranging from 0 to 1920 on the X axis in fullscreen if you're lucky enough to have HD. The origin (ie coordinates 0,0) in ScreenDraw is considered to be at the top left of the screen.
So I figure, sure... I'll just subtract the Camera position from the Star position, and then if the star is onscreen, it would be displayed in a range that will show up in the ScreenDraw. I tried that, and it fixes some aspects of the engine....the stars move correctly when panning around... But for some reason, the scaling is way off. When you zoom in, the stars get smaller and look further away. When you zoom out, they seem to come closer and grow larger. I've tried switching some random adds with subtracts, divides with multiplies, etc... but stabbing around in the dark like that predictably did not produce results.
I've restored the engine to being rendered in LevelDraw for now while I think this thing over. If anyone can offer any insight in this problem, I'd be grateful. Hopefully my wall-of-text description will suffice...