A técnica que você está usando é chamada de polling. Você está verificando novos registros, aguardando um determinado período de tempo e, em seguida, verificando novamente se há novos registros. Uma boa maneira de responder a novos registros pode ser criar um controlador que lide com a inserção de novos registros no banco de dados e forçar todos os clientes (que atualizam os registros do banco de dados) a usar o controlador para fazer isso. Em seguida, o controlador pode alertá-lo quando houver um novo registro. Para facilitar os alertas do controlador, você pode configurar um serviço web onde o controlador possa entrar em contato com você.
Eu digo que isso "pode" ser uma boa maneira de fazer isso porque criar um controlador e um serviço da web é obviamente um trabalho extra. No entanto, isso tornaria a votação desnecessária. Se você quiser continuar usando sua técnica de sondagem, você pode criar um serviço (produtor) que faça a sondagem e preencha uma fila com os novos resultados. Seu outro programa (consumidor) pode então recuperar itens da fila e fazer algo com eles.