I think dialectical materialism is quite an appealing theory. In principle, I think it's completely true.
But I do offer some pushback against Marx's (extreme) thinking on the implications of dialectical materialism. I think he becomes a bit too abstract. For instance, Marx thinks that ideas of individual freedom arise due to the economic environment. He thinks similar things about greed and exploitation.
So, according to Marx, the reason we value "individual freedom" the way we do is because our ideas are a product of our capitalist environment. I think Marx is correct to some extent, here. Our ideas about what individual freedom means is shaped by the social structure in which we find ourselves. But I also think something more properly basic is going on as well. Our desire to be free is also something that can be traced all the way to our biological organism.
Marx seems to think that greed and the desire to exploit other humans springs solely from social conditions. And by organizing society in a certain way, it is inferred that Marx thinks that greed and exploitation will disappear. I'm not quite so optimistic. Like our ideas of human freedom, I think societal conditions shape our desire to exploit, but... at the same time... our inclination to exploit arises independently of social constructs... at least to some degree.
But (as I said at the outset) dialectical materialism is a compelling idea for a number of reasons. Think about how a dialectical materialist would fight crime. Rather than rounding up criminals and putting them in jail, a dialectical materialist would observe the social conditions in which crime arises (namely, impoverished urban centers). To reduce crime, the dialectical materialist would organize those communities in such a way that resembled communities with less crime. Such would be a novel and effective approach to dealing with crime, IMO.
But the problem comes when we reduce crime to those specific social conditions and claim that no person would commit a criminal act were it not for those specific environmental cues. That's not quite true either. Social AND biological factors come to bear on explaining human behavior. If I were to criticize Marx's ideas concerning dialectical materialism, I would say that he puts too much emphasis on social conditions to explain our ideas. Even without X social conditions, people will commit crime and exploit each other. These are innate biological tendencies we have... social conditions merely exacerbate the problem.
Marx didn't exist in a vacuum. I think dialectical materialism is a good counterpoint to traditional "liberal" values about the origin of human ideas. Liberalism assumes all individual agents act of their own accord, thinking independently of social structures. This is obviously false. But so is the extreme form of dialectical materialism argued by Marx. The truth is somewhere in the middle, I think.
I completely agree with your analysis. Marx didn't have the insights of modern psychology, evolutionary theory, or biology. He sometimes seemed to think that reasoning alone could lead him to truth, but we now know that reasoning must be supplemented by empiricism for measurable claims, such as the assertion that economics and economics alone could explain greed or human desires.