I think I have a simple example that shows the problem, see attached zip file containing files main.c and test.c.
main.c makes calls to functions defined in test.c.
Some of the calls in main.c are missing the parameter; doing
Goto References from any of call where some instance of that call
(that one or another) is missing the parameter produces
only local instances.
Doing
Goto References from test.c produces
all instances (even the ones with missing parameter).
Try doing all 6
Goto References from main.c and compare with doing all 6
Goto References from test.c
LoL, I hope I got it right