The problem with ordering by
NodeLevel, NodeOrder, NodeName is that the parent folders will all have the same level, as will the images.
In other words, if Page is directly under root, it's NodeLevel is 1. The gallery folders are all NodeLevel 2, and the images are all NodeLevel 3. So for the top 6, you'll get something like:
image 1, image 1, image 1, image 2, image 2, image 2
One quick fix is to change your OrderBy to:
NodeParentId DESC,NodeLevel, NodeOrder,NodeName. Of course, that only works if the parent nodes were created in order.
A method that is more generic and would continue to work even if the parent folders were re-ordered would be much more complex. Options would most likely involve creating a custom repeater or custom datasource web part.
If you weren't limiting to the top 6 documents, you could make use of a
nested repeater. It's the combination of listing sub-documents in the order they appear and limiting the results that leads to this requiring a custom solution.
Please let us know if you have any further questions.
Regards,
Allen Greenhaw