Finally had a chance between shoots to stop and document this problem step-by-step.
I upgraded to 4.6.5 (Win XP) and the problem persists.
Here is what I do to recreate the problem.
1) I have a text replacement file with horse number (3 digits) and horse name (with "_" in place of any spaces in the name). Saved as a tab delimited TXT file. I make sure it is the only code replacement file PM is using under "Settings".
2) I encode the horse number manually during post processing into the IPTC "caption" field.
3) After I have manually set the caption fields to the horse number for all images, I select all images and open the IPTC Stationary Pad (CTRL+I). I set my IPTC Stationary Pad values to:
Supp Cat 2 = {caption}
Supp Cat 3 = \{caption}\
Special Instructions = \{caption}\_{caption}
4) I then click "Apply Stationary to Selected".
5) PM runs and does its magic kung fu on the IPTC values.
6) When the update is complete, I click on the "i" button next to the thumbnail. Everything looks good. Supp Cat 2 contains horse number, Supp Cat 3 contains horse name, and Special Instructions contains horse name concatenated with horse number with a "_" between them.
7). Now, here is where you can see the problem problem symptoms start. When I press ESC on the keyboard while I have the ITPC Info panel openl, I get a "Changes have been made. Do you want to save your changes?". Hmmmm, I didn't make any changes. I just opened the panel and then escaped out. I wouldn't think there would be any changes being made. (NOTE: at this point, if I do say "YES" to the dialog option, then the IPTC value for that image is correctly revised to reflect the code replacement).
To see the problem more clearly now, go into "Settings" and remove the TXT code replacement file. Now go back into the IPTC Info panel for a fresh image (same contact sheet). What I see now is
Supp Cat 2 - {caption} (e.g. 326)
Supp cat 3 - \(whatever the value of {caption} was\ (e.g. \326\ but should be "ZippyHorseName")
Special instructions - ZippyHorseName_326.
Soooooo, long explanation to an interesting problem. If the code replacement file is set in Settings, Supp Cat 3 resolves fine. As soon as you change it to something else or remove it, it not longer works correctly BUT the references for replacement in "Special instructions" works fine.
I can send you screen shots if you need more details.
Mike