Is there a technique to handle such communication problems?
As others have said, there are situations where documenting everything with emails, or enforced workflows and signatures (for example like is done with "ECO" processes) will help. Creating such protocols works for heavyweight "line-work" processes where multiple departments and money and management collide. If you don't have such controls in place for mission-critical stuff, you should.
BUT... the problem is that not everything can be done this way nor are such process controls intended to actually prevent "deceit" (which is what you seem to be complaining about). Regardless of what system you have in place, you're still going to have to deal with people saying they're going to do something and then not following through on it or failing to communicate.
What you really need to do first is find out WHY people are behaving as they are. If you don't understand why, you really can't address the root problem and you're left with clumsy process controls to handle it (or you just have to bully them through ham-fisted management channels).
The most important ingredient to get someone to openly communicate with you about why they're going back on their word is to create a high level of trust. That requires empathy on your part and it means you can't start out by putting them on the spot. If someone feels they're going to lose face, they're not going to admit it, they'll literally "walk out" of the interaction. And, in fact, this is precisely what you noticed as a result of being assertive rather than empathetic.
Instead of saying "you committed to A and now you're doing B and this is a big problem for me" try to soften your approach. This could be done in MANY ways, the best of which are pro-active. For example, that could mean being aware of what their problems are and communicating with them about what your needs are IN ADVANCE, and being open to changes before things become a crisis.
Keep in mind that no one wants to do a bad job "on purpose" or to frustrate you. There are reasons for the behavior you're talking about. If you can find out those reasons, that will put you in a position to solve the problem rather than just "police it" through documentation or indirect attempts at strong-arming accountability.