Observations:
I claim these are two separate things, and that we cleanly separate them for UNIX implementors, so they can primarily focus on the low level FFI, and simply supply the standard procedure to parse it with little or no change:

In the user-info level have a "comments" field which is the raw pw_gecos field, and mention in the description that it's named the gecos field for historical reasons, and note the procedure to parse it. 

If the system is Windows, have the user-info procedure fill in this comments field in a manner that will be properly parsed by the supplied procedure.  That violates the separation principle I mention above, but there will inevitably be a lot of that with Windows coming from a completely different branch of operating system history.

I think this satisfies all concerns except for the desire by some to never reveal the raw pw_gecos field, which I don't like since we know there will be non-standard unparsable instances of it out there in the sea of UNIX and UNIX like systems.

- Harold