Speaking as someone who has dealt with some applications in a high-level programming language, though not professionally, I would recommend you consider using Java for this. You can download the SDK for free, and the support is relatively broad, since there are a number of forums dealing specifically with that language.
With respect to the application itself, I believe it is clear that you must create or adopt a communication protocol where the sender ID is part of the information sent. Another point to consider, in order to reduce traffic, is to encode of the message, so that instead of sending the text of the error verbosely, you would be sending only one letter of the alphabet indicative of the error previously tabled.