I think this is useful to distinguish between multiple functions sharing the same name, or between similar messages within the same function. Arguably this could be done by renaming the functions, or making the message more unique, but it'd be easier to just add more context.
With WinRT this is especially true as the same interfaces are implemented for many classes, and functions names are already overly verbose.
The output could be made optional but I'm not sure why it should be. In any case, passing the data to `__wine_dbg_header` will also help anyone with similar local change avoid the huge cost of a `wine/debug.h` diff. The same thing would be true with return address information, but I think it's more debatable whether it is useful outside of debugging.