Is the 'Catalog' metadataGrid value supposed to show up as a '?' when nothing is there? I replaced %discogs_catalog% with %LABELNO% in the config:
{ "label": "Catalog", "val": "$puts(cn,$if3(%catalognumber%,%labelno%))[$if($get(cn),$get(cn)[ / $replace($if3(%releasecountry%,%discogs_country%),AF,XW)],)]" },
{ "label": "Rel. Country", "val": "$puts(cn,$if3(%catalognumber%,%labelno%))[$if($get(cn),,$replace($replace($if3(%releasecountry%,%discogs_country%,),AF,XW),XW,))]" }, // Only shown if %catalognumber% or %labelno% is not present. If release country is entire world ('XW') value is hidden.
[attach type=image align=left]28194[/attach][attach type=image align=center]28196[/attach]
Because you are using the if3 conditions, you have forgotten in both patterns a comma after %labelno%.
It should be like this:
{ "label": "Catalog", "val": "$puts(cn,$if3(%catalognumber%,%labelno%,))[$if($get(cn),$get(cn)[ / $replace($if3(%releasecountry%,%discogs_country%),AF,XW)],)]" },
{ "label": "Rel. Country", "val": "$puts(cn,$if3(%catalognumber%,%labelno%,))[$if($get(cn),,$replace($replace($if3(%releasecountry%,%discogs_country%,),AF,XW),XW,))]" }, // Only shown if %catalognumber% or %labelno% is not present. If release country is entire world ('XW') value is hidden.
Also in general, if you do not want any non-existing values to be shown as questions marks ? use the optional brackets [%tag%]
https://wiki.hydrogenaud.io/index.php?title=Foobar2000:Title_Formatting_Reference
-TT