pseudo-código:
version = 1
if settings.read("lastVersion", default=0) < version:
showDialog()
settings.save("lastVersion")
Depois você atualiza a variável de versão para cada nova versão e pronto. Em texto: basta usar uma configuração para salvar a última versão, e se a versão do programa for mais recente, mostre a caixa de diálogo e atualize a configuração.