Ответ, во-первых, что я неаккуратный, и, во-вторых, что аргументы командной строки, передаваемые в regsvr32, должны быть заключены в двойные кавычки. Мне никогда не приходило в голову, потому что я написал свой код так:
string args = "/s " + Path.Combine(MP_xxxx_DIR.FullName, MAP_POINT_OCX) ;
когда это должно было выглядеть так:
string args = "/s " + "\"" + Path.Combine(MP_xxxx_DIR.FullName, MAP_POINT_OCX) + "\"";
Надеюсь, это поможет кому-то еще:)