That is the problem. The protocol doesn't dictate how prior messages in a thread should be included or referenced. So any given thread is a hodgepodge of different solutions, making for an ugly, unreadable mess. Some clients try to clean this up, but it's basically an impossible task when you have no way of knowing what other clients will do.