Thanks a lot for sharing this, good teaching material. You may want to move it or repost to Kinetis Microcontrollers community space so more people can see it (just a suggestion).
Note: From what I know the DFU example in the USB stack is not supposed to work. It just shows the enumeration as DFU class, but it is missing the s19 parser and the flash programming routines. As you mentioned the working code is in AN4370.