I've found how to stop the function problem occuring. All the Variables section (Paramaters and Locals, Data Members, etc) must be unticked. If any of them are ticked then the problem re-occurs.
Another observation: if, when the problem is showing, I untick Procedures | Functions then the prototype line is shown in the symbol window. This is even with Prototypes unticked as well. However, if I click on a function that doesn't exhibit the problem, with Procedures and Functions unticked that now shows the func and proto lines in the symbol window instead of detail.
Clearly, the two (the function that's fine and the function that shows the problem) are being treated very differently, but there appears to be no functional difference to my eye.
[Later...]
Ah, I think I might've found something. The functions exhibit the problem appear to all have a single parameter which is a typedef. In other words, and referring to my previous post for the typedef ..er.. def, this will cause a problem:
void SomeFunc(SomeStruct_t *aStruct);
but this will not have a problem:
void SomeFunc(SomeStruct_t *aStruct, int anInt);
So... looks to me like it's something related to the typedef thing that start this thread.