Email structure seen as a result of QMessageContentContainer::contentIds() invoked on QMessage and recursively on all its content parts ( followed by QMessageContentContainer::find() ) does not always depict actual email structure.
Example test results (for three main email account types: IMAP, MfE, NMS) are in file emailstructure.doc, subjects reflect what has been put into email, dashes represent part level. Email structure get via freestyleemail looks correctly.
Test account: hardstuff12@gmail.com, password: 123xbest