Some things that might help:
You are using DVDs, right? Then they should already be in yv12 colorspace, no need to use the converttoyv12() parameter.

As you are already using fastlinedarken, you don't need awarpsharp... besides, I hate awarpsharp and just use limitedsharpenfaster, but that's a personal preference, I guess. Similar for the deen/undot. Both are used to remove light noise, why using both? I think that using just the deen should be enough, undot generally doesn't do much anyway. Uhm, also, did you try to use the parameter cpu=6 in the mpeg2source? Should be better than using deblock at default values.
And, about the de-interlacing... I think that tomsmocomp(1,5,1) gives better results (this is for top field first, you gotta use tomsmocomp(0,5,1) if your dvds are bottom field first). Also, I think that you should put it at the top of your script, immediately after the mpeg2source... as far as I know, all the filters you are using to improve quality need a progressive video to work properly, not sure if they would work the same anyway, though. o.o
See if this helps, somehow.
