The first two problems can be solved by providing an extended explanation of each message in an "Errors and Warnings" section of the project documentation. The last can be solved by verifying that each error message meets organization standards of professionalism prior to release of the product.
But documenting and reviewing error messages is a slow and tedious process. As the number of source files and people involved with the project increases, the chances of maintaining complete and correct error documentation diminishes.
XMan is a unique tool that solves these difficult problems. It is designed for professional software developers who write projects in C. For more on this, please see Error Messages and Documentation, a journal article written by the programmer who designed and developed XMan.