à partir du moment où tu "ouvres une porte", il y a toujours un risque évidemment
pour le rendre moins vulnérable tu peux aussi transformer ton appliA en serveur, et les autres en client.
c'est à dire vraiment avec winsock etc...
l'intérêt? pouvoir organiser tes actions selon le format (message) de ton choix, et pouvoir crypter les données.
de plus çà sera un peu plus rapide qu'en attachants X dll/plugins. quoi que cette dernière méthode, même si elle nécessite une structure de classe unique pour tous tes projets, peut également être réalisée avec ton progA sous forme d'EXE/ActiveX (qui s'enregistre comme une dll)
et là plus besoin de passer par DDE, mais le débugage en devient assez complexe
umm.. pas très bien dit tout çà.
je la refais

tu as plusieurs possibilités, qui toutes - forcément - offriront une faille
DDE => simple à mettre en place, peu de modifications de code, gestion d'erreurs intégrée
TCP/IP => modification de code assez importante sur tous les projets, mais possibilité de sécuriser par les méthodes de ton choix, incluant le cryptage des données. autre intérêt, pour un nouveau prog ajouté tu n'as que le ProgA et le ProgNouveau à modifier
EXE/ActiveX => même principe que des PlugIn, mais oblige une organisation très réfléchie. niveau sécurité çà me semble plus "fermé" que toute autre méthode (donc peut-être à préférer)
tu peux également passer par un tampon sur le HD, pour communiquer par fichier (je trouve çà peu propre)
et dans l'idée des sockets tu as aussi la possibilité de jouer avec les MailSlots, qui peuvent être aussi une bonne alternative dans ton cas
http://msdn.microsoft.com/en-us/library/aa365576(VS.85).aspx
j'espère que c'est un peu plus clair

++
Prenez un instant pour répondre à ce sondage svp