Not setting ProgramVersion can override what ProgramName is set to.
If you do not specify a ProgramVersion when creating the connection, the api will override the ProgramName with what is found when querying the version information. This may not be desired by everyone. As we may not want the name of the app from GetFileVersionInfo to be shown as the app name in p4 monitor.