Carlos Eduardo, entendo "troca de mensagens" do Paradigma Orientado a Objetos como sendo "a instância de uma classe chamando métodos da instância de outra classe".
<?php
class a {
____public function oi(b $b) {
________return $b->ola() + 1;
____}
}
class b {
____public function ola() {
________return 3;
____}
}
?>
Veja: o simples fato do método "oi" receber um parâmetro do tipo "b" e executar o método "ola" já ocorre a troca de mensagens. O objeto $b está informando para a classe "a" que o valor retornado por seu método "ola" é 3.
Talvez a troca de mensagens que você esteja se referindo é aquela envolvida num WebService. Neste caso, um pacote de mensagem é enviado, de fato, de um lugar para outro e as partes precisam se entender. Um exemplo é o SOAP:
http://pt.wikipedia.org/wiki/SOAP
Ou talvez aquele que envolvem duas linguagens diferentes. Por exemplo: o PHP informa para o MySQL uma query, que nada mais é que uma "mensagem" para o MySQL analisar e executar.