Eu não acho que você terá muita sorte em conseguir o que deseja, porque o que você está tentando fazer não combina com o funcionamento do modelo de segurança do Windows.
DSNs ODBC são armazenados no registro (HKEY_LOCAL_MACHINE, para DSNs do sistema ou HKEY_CURRENT_USER, para DSNs do usuário). As permissões podem ser definidas no registro que fazem referência a entidades de segurança (Usuários ou Grupos), mas não a esse software de aplicativo de referência (já que o software de aplicativo não é uma entidade de segurança). Da mesma forma, as APIs usadas para acessar o registro não têm funcionalidade para implementar permissões com base no aplicativo que executa o acesso. A segurança é baseada nos usuários e em sua participação no grupo, não no aplicativo em que estão sendo executados.
Remover o acesso do usuário aos DSNs do ODBC não impedirá os usuários de acessar o banco de dados de back-end se eles tiverem acesso. Você está apenas "escondendo" o acesso obscurecendo o DSN, na verdade não protegendo nada. Segurança por obscuridade não é realmente segurança.
Eu não tenho experiência com o Great Plains, mas como o armazenamento de back-end parece ser baseado no SQL Server, eu acho que o Right Way TM de limitar o acesso do usuário ao back-end banco de dados seria a segurança do SQL Server. Um usuário que acessa a instância do SQL Server que hospeda os dados do Great Plains, supondo que você esteja usando a autenticação do Windows no ODBC DSN, seria "visto" pelo SQL Server com seu contexto de usuário do Windows. Você pode criar "Logons" do SQL Server correspondentes aos usuários (ou, melhor ainda, grupos dos quais os usuários são membros) e limitar seu acesso usando a funcionalidade interna do SQL Server. Isto parece um lote melhor lugar para limitar o acesso do usuário, especialmente porque o próprio banco de dados irá impor o acesso.
(Não tendo usado Great Plains antes, e aceitando que é possível e até mesmo provável que o software use coisas feias como a autenticação nativa do SQL Server. Se for esse o caso, então você só tem uma bagunça.)