Buenas. Tengo una solucion un poco rebuscada a tu problema (sin tener que recurrir a threads) pero se tienen que dar varias condiciones:
1) Que trabajes bajo visual c++.net (en versiones anteriores no se si existen los objectos que te voy a comentar).
2) Que trabajes en clases administradas, en MFC no se como va el tema.
3) Que haya comunicacion entre ambas para poder establecer la comunicacion
El sistema consiste en crear una funcion en cada una de las clases que serán las que reciban el mensaje. Y he aqui lo más importante, en cada clase tienes que crear un delegado que apunte a la funcion de la otra clase.
La verdad, la teoría es esta, pero no tengo ni idea de como se crean los delegados xDD.