Thanks for looking into this Dennis. The bottom line is that PM color management works; that is, when it is on, all the images appear identical even if they are represented in different color spaces internally. That's good news. The extraction I still have some concern about, but it seems that as long as I always choose to embed upon extract everything works out fine.
Yes, I do want you to get back to 4.6.1, but I also know from reading this forum of your constant pursuit of higher quality. I am impressed that you guys are always open to addressing issues identified in the field, and hopefully user feedback like this is helpful. For me personally, I am totally fine with using the PM/NX combination as is since I know now how to work around this issue. The comments below just sum up my final ramblings on this subject after so much experimentation. Perhaps some of them will be useful for future improvements.
You say NX does not write an EXIF color space tag when writing a NEF file, but JPEG extract works perfectly for aRGB NEFS, so this explaination is not entirely consistent. It could be that NX only writes the EXIF tag if the color space differs from it's default (sRGB in this case). The important thing to determine here is which application is behaving inconsistently. Since you are familiar with PM's code you are in the unique position to say whether or not PM is doing the right thing. If so, then perhaps the fault lies with NX.
If I understand your explanation correctly, you are saying that NX embeds the sRGB profile, but does not write a corresponding profile tag to the EXIF data. And this is why when I open a NEF in PM I see it labeled as sRGB (embedded), but when I save it without the ICC embed option I get a JPEG with undefined colorspace. So you are saying that the PM variable {ICC} is populated based on the embedded profile? I was thinking it was based on the EXIF data.
I thought the embedded profile was already part of the embedded JPEG. When PM saves without the "embed ICC profile" option does it actually remove this existing profile? If so, wouldn't the option be more appropriately named "remove embedded profile" since the NOP route is to leave it as is?
I'm not sure adding a default EXIF color space tag would be a good thing. Assigning color spaces by default is dangerous, and in my opinion should be hard for a user to do accidentally since it could easily do more harm than good. It might be better to just have a warning message if both the EXIF tag and the profile are missing to say that the JPEG will have no color space, proceed (y/n)?
Even better. Would you suppose the embedded profile to be the ultimate definition of color space? If so, why not add code to write an EXIF color space tag to match the embedded profile if the tag is found to be missing or inconsistent with the profile?
Just food for thought.
Rich