Just a quick wild guess : amongst the reasons for a VI to have this option gray-out, you'd find "this VI is currently running, or is a dependency of another VI that is running", there are probably other reasons of course.
Can you give more details concerning your use case?
Is a part of your code running when you have this issue?
Is your VI part of a class or lvlib that is protected, etc...