What you are doing should work fine, as your tests have already shown. However, when I researched this several months ago, I remember reading at least one article that indicated that it is generally preferable to use the integrated rather than classic pipeline, unless you have a compelling reason not to. I can't find that article now, but the following article: New IIS7 Article: Taking Advantage of the IIS7 Integrated Pipeline explains some of the benefits.
So although classic mode is adequate for your situation, you certainly don't have to use the classic pipeline to run .net 2.0 apps, unless you are using custom ISAPI extensions or filters. Assuming you have none of those (custom ISAPI stuff), if it were me, I would move to the integrated pipeline, simply because that was one of the main improvements of IIS7, and there doesn't seem to be anything to gain by sticking with the II6 model.
NOTE: I am currently running .Net 3.5 apps, using integrated pipeline, with no problems. As far as IIS7 is concerned, .Net 2.0, 3.0 and 3.5 apps are all the same, since all of them use CLR v2.0. So I can't imagine why you would have any problems using the integrated pipeline with CLR v4.0.