Don’t know. Until now I never used mkgmap so I cannot test. But it should bring an errormesage and stop.

Or nothing put out or only ???'s. Because thats in line whith what mkgmap does now.

Further my opinion is that if a parameter --charset=… is omitted the output should be utf8 (and only then). Exactly the same content as in the osm tags. (–charset=utf8 is confusing as no charset will be used. So this should bring an errormessage too and the program should stop, not even start.)

That looks ok. So your claim is that the cyrillic from Bulgaria is correctly transliterated too (in that same .img)?