Unfortunately, this simple approach cannot work in generic case. For example, imagine some part of the last step partially hidden by some part from previous steps. This way you described we'll see ghost edges of invisible (part of) part.
This is still a 3D scene and so any attempt to merge two 2D images together (like in gimp) cannot work in generic case (that's math). The only way is to render the 3D scene with this additional information. It means we need to have a way how to tell LDView or other renderer about that. For example if there was an ldraw special command "0 !EDGE_COLOR yellow" affecting all following "1" lines.
EDIT: And even after that you get something different than LEGO does. Same as in your example: ALL edges of the last step are highlighted, including edges of studs etc. Original LEGO instructions are much nicer: only the edge of "the block of last step parts" is highlighted there.
So the problem is even more complex.
This is still a 3D scene and so any attempt to merge two 2D images together (like in gimp) cannot work in generic case (that's math). The only way is to render the 3D scene with this additional information. It means we need to have a way how to tell LDView or other renderer about that. For example if there was an ldraw special command "0 !EDGE_COLOR yellow" affecting all following "1" lines.
EDIT: And even after that you get something different than LEGO does. Same as in your example: ALL edges of the last step are highlighted, including edges of studs etc. Original LEGO instructions are much nicer: only the edge of "the block of last step parts" is highlighted there.
So the problem is even more complex.