As we know, it's not possible to flag upvoted posts as "very low quality", or vote-to-close as "belongs on another site" if the question is too old, but the system doesn't actually tell us that.
If we have already voted to close a question, we see that in the close dialog. Even "already raised this flag" is a nice red warning.
It can become very confusing to figure out what exactly is going on when an option is suddenly just missing - Why can't I use it? What do you expect me to do? I know that this is supposed to be migrated, why can't I migrate it?
Of course an active meta user can find that and figure it out, or ask about it - but the system really could do with some sort of feedback for this kind of thing. My proposal, therefore, is as follows: Disable the option, but leave a simple explanation string as to why it's disabled. Personally, I'd prefer something along the lines of the "already raised that flag" warning.