Set Messages app to show Names and Pictures by default for all conversations
This looks like a bug. Mine when checked does the same.

So I set it again and I also changed the Show As Balloons to Show As boxes. Quit and re opened. This stuck.

I then Change back to Show As Balloons  Quit and re opened. Both settings stuck.

Tested on two Macs. Same thing



Further investigation which I think proves it is a bug

The show names and pictures or what ever you set in the app is actually being written out to the plist file.

The Dictionary SOTranscriptSettingsDefaultIMChatSettingsPreferences
  that holds this preference participantDisplay changes from number value 0 to 1 or 2.

The problem is the original default in the Dictionary SOTranscriptSettingsDefaultIMChatSettingsPreferences
is to only have the participantDisplay entry.

When you also change the  Show As Balloons setting to something else like boxes a new entry  transcriptStyleID is added to the Dictionary SOTranscriptSettingsDefaultIMChatSettingsPreferences. Which will have the string value of for example com.apple.iChat.Styles.Balloons.

Once both entries exist then the setting participantDisplay is actually actioned.

I used Defaults delete,write to remove and replace these settings and the results are consistent.