Finally got around to test this, looks good except for this part:
ControllerRemapPath := moduleIni.Read(mameSystem . "|Settings", "ControllerRemapPath", emuPath . "\ControllerRemap\ControllerRemap.exe","",1)
ControllerRemapConfigPath := moduleIni.Read( mameSystem . "|Settings", "ControllerRemapConfigPath", ControllerRemapPath . "\ctrlr\","",1)
This won't work as you are defaulting ControllerRemapConfigPath to emuPath . "\ControllerRemap\ControllerRemap.exe\ctrlr"!
Should be something like this instead:
ControllerRemapPath := moduleIni.Read(mameSystem . "|Settings", "ControllerRemapPath", emuPath . "\ControllerRemap\ControllerRemap.exe","",1)
CtrlRemapFile := new File(ControllerRemapPath)
ControllerRemapConfigPath := moduleIni.Read( mameSystem . "|Settings", "ControllerRemapConfigPath", CtrlRemapFile.FilePath . "\ctrlr\","",1)