I never ever add applications to my base WIM, so I personally disagree with step 1 - however, there could be good reasons to lock an app into an image, so I won't knock it. I would just say that adding things into an image means you're going to have to recreate it if you need to go and update or change those apps in the future, meaning you have to redo your imaging entirely. I much prefer the MDT or SCCM way of doing things, where you put down an unchanged WIM with your unattend.xml desired changes, inject drivers during WinPE, reboot and then add apps, make settings changes, etc. However, like I said, there are always multiple ways to do imaging with Win7, and there could be a valid reason to do it another way - those ways can be quicker to plunk down an image, but with the tradeoff that they need ongoing maintenance attention.
As to step 2, technically you don't need to do this at all - any deviation from default settings (as would be configured in group policy) are removed and reset via sysprep, so whatever you do here is whacked anyway.
As to step 6, to add features via dism.exe like MSMQ or IIS to Windows Embedded, you should read
this blog post on MSDN - basically you're creating an unattend file and config set with ICE, and then Apply-Unattend is run against it with dism later to apply it and install the packages you specified with ICE.
I believe you can install WE7 using MDT 2010, so it is something to look into. It might help you be more flexible and repeatable in your installs, as well as providing a lot of built-in logic for things like patches, drivers, hardware detection, etc., and avoid some of the things you're likely to run into doing it the "prescribed" ways on technet.