Internal or on the fly upconversion is a weaker algorithm than a good PC pre-rendered method.
This is one of the reasons Citizen's trasnfer works well in HD.
Additionally, Lanczos being more than just line doubling actually finds edges, giving a slight sharpening and providing a very nice picture.
LanczosResize is an alternative to BicubicResize with high values of c about 0.6 ... 0.75 which produces quite strong sharpening. It usually offers better quality (fewer artifacts) and a sharp image.
Lanczos was created for AviSynth because it retained so much detail, more so even than BicubicResize(x,y,0,0.75). As you might know, the more detail a frame has, the more diffiult it is to compress it. This means that Lanczos is NOT suited for low bitrate video, the various Bicubic flavours are much better for this. If however you have enough bitrate then using Lanczos will give you a better picture, but in general I do not recommend using it for 1 CD rips because the bitrate is usually too low (there are exceptions of course).
Lanczos4Resize is closely related to LanczosResize (correct name: Lanczos3Resize). The latter uses 2*3=6 lobes and the former 2*4=8 lobes to do the resizing. The result is that Lanczos4Resize produces sharper images. Especially usefull when upsizing a clip.
As far as the artifacts, yeah, GreedyHMA is a bit complex, you'd just have to read through and do some trial and error. As far as TomsMoComp try this line:
TomsMoComp(-1,-1,1).Lanczos4Resize(720,480)
It will double the vertical resolution, filter the vertical lines and then resize it back down to DVD resolution.
I can't swear it'll work, but it'd be worth a try.
And to denoise I would give Deen().Undot() a try or just Deen() by itself. Temporal filters MIGHT cause ghosting, but at this point a little bit more should be hard to see.