Isso ocorre porque todos os eventos na GUI são executados em um único "Event Dispatch Thread", e o mouse manipulando eventos de arrastar faz com que o cronômetro seja enfileirado. Os eventos são, na verdade, Mensagens do Windows e os manipuladores de mensagens devem ser chamados de um único encadeamento. O arrastar do mouse mantém o encadeamento de eventos "ocupado", portanto, ele não pode executar nenhum outro procedimento de janela enquanto o arrastamento está ocorrendo. Essa é uma das limitações de design das GUIs originais do Windows, das quais o Access 2003 é um desses programas que a utiliza.
O tratamento de entrada e o modelo de segmentação foram aprimorados em versões mais recentes do Windows e com diferentes estruturas, como a usada no Office 2010. Não tenho certeza se isso resolve o problema, mas pode ajudar a tentar uma nova versão do Office. / p>
Outra coisa que você pode tentar é executar um loop ocupado que chama DoEvents de vez em quando para processar as mensagens da janela, e apenas usar pausas para interromper as 500 ms em vez de fazer com que o sistema chame seu evento a cada 500 ms.