I do like the idea. I have a few practical questions/remarks.
Should this function only work for automatically inserted "()" after autocompletion, or should this also work when I type a '(' after a variable with an overloaded operator() (without any arguments), and the ')' is inserted automatically by VA? Are there other situations I forgot where this would apply?
And what about a function with two signatures (one without arguments and the other with arguments)? Or what about a function with one argument with a default-setting? I would say in those cases the cursor should be placed between '(' and ')'.
Finally I would say this would be a great option. Maybe some programmers do not like it, because the cursor can be inside the "()" and sometime after them. For some people this might be irritating not always having the cursor in between (irritating because they would have to think about it ). So being able to enable or disable this option would be even more great.
They are just some thoughts to think this over. As said, I do like the idea.
It's not a new idea and actually it used to work this way in an old version of VA. There was even a disscussion on this subject. My two cents to the subject:
placing the cursor after the closing bracket only when the function has no parameters and no overloads is useful (have you noticed that VA X does it since build 1220 at least?)
skip the closing bracket when user type a semicolon and the function has an overload without required parameters