1. La que menos me gusta es la que comentas, que cada x tiempo hagan una petición a una base de datos. Por 10 aplicaciones que hagan consultas simples no vas a afectar a la base de datos. No será el fin del mundo si se hace una comprobación cada 5 minutos por ejemplo.
2. Implementa un cliente de correo de forma que se envíe un correo al departamento adecuado.
3. Utiliza la comunicación por sockets, que la aplicación de compras ejerza de servidor o crea un servidor.
https://portfoliogabrielfcr.wordpres...sando-sockets/
4. Utiliza un flag, un fichero en un directorio compartido o en un servidor, y que sea la aplicación/perfil de los de compras la única que esté comprobando cada x tiempo si hay algo nuevo.
5. Usa un gestor de colas
http://www.adictosaltrabajo.com/tutoriales/active-mq/