There must be both an opening and closing bracket for SimPlaylist to dim the tag content between them. (The brackets' type doesn't have to match, however). That's why "sunn O)))" displays undimmed when simply using %album artist% instead of a $replace() script.
$replace(%album%,'(','>>(',')',')<<','[','>>[',']',']<<','{','>>{','}','}<<')
The problem with this is that it doesn't take into consideration constructions such as "sunn O)))". Instead of interpreting << as highlighting the preceding bracket, it's being interpreted as dimming the following bracket. This is understandable as there is no preceding >>.
@frogworth:
Try this instead of your code:
>>$replace(%album artist%,'(','<<>>(<<>>',')','<<>>)<<>>','[','<<>>[<<>>',']','<<>>]<<>>','{','<<>>{<<>>','}','<<>>}<<>>')<< - >>'['%date%[%index%]']'<< -
>>$replace(%album%,'(','<<>>(<<>>',')','<<>>)<<>>','[','<<>>[<<>>',']','<<>>]<<>>','{','<<>>{<<>>','}','<<>>}<<>>')<<
It worked in my experimenting. It's basically an all-encompassing attempt to prevent dimming regardless of bracket type, combination or occurrence. Setting conditions with $if() with the code is inadvisable.
EDIT:
Must have had a derp moment as this code worked for me and I posted the longer version instead of this one:
>>$replace(%album artist% - '['%date%[-%index%]']' - %album%,'(','<<>>(<<>>',')','<<>>)<<>>','[','<<>>[<<>>',']','<<>>]<<>>','{','<<>>{<<>>','}','<<>>}<<>>')<<