Но я не понимаю про какой флаг идет речь.
1. Прокидываешь внутрь объект со стейтом
2. У стейта есть автопропертя (или что захочешь) Active = true
3. Вместе с Enabled = false устанавливай еще и Active = false
4. В обработчике проверяй что Active = true, если это не так - пусть сразу выходит
4.1. Все выполнения обработчика из очереди не будут производить полезной работы, потому что будут сразу выходить
5. Не забудь Interlocked, чтобы избежать гонок