Since BlockInput is a built-in OS feature, I don't think there's anything that can be done beyond what's already available.
Also, I'm surprised that moving the mouse during a ControlClick affects the outcome. Since nothing like that has ever been observed or reported, it might be an app-specific issue, in which case turning on BlockInput might solve it for that particular window.
If all else fails, you could use
Rajat's SendMessage Tutorial to try to find a message to use as a substitute for ControlClick in this particular app.