Problem with Pixelblaze Output Expander

@wizard

I assembled a 48x16 matrix (3 of 16x16 matrix) for the Virtual Fireplace.
I am using Pixelblaze Output Expander for driving these 3 16x16 matrix but I have a very strange problem. Occasionally everything works as expected. But after recycling a power only one first matrix is active even all configuration looks correct. Here is a screenshot:

I can drive any individual matrix by configuring only a correspondent channel.
For instance, this configuration runs a correct pattern on a last matrix:

Occasionally suddenly all 3 matrix became active.

I guess, the problem is with Pixelblaze but waht is wrong?

I just got two new Pixelblazes but before rushing to replace the existing one I would like to hear what could be wrong and if it is any way to fix a problem?

PS. I tried backup and restore but this did not help.

UPDATE
If I configure only one IO Expander channel it works as expected and all settings are retained after power cycling. But getting all 3 channels working is next to impossible and after recycling power only channel-0 (first one) is active even all configuration is retained.

It sounds like you haven’t saved your pixel map. Once you have all pixels set up in settings, go over to the map tab and make sure that looks OK, then hit save.

No, Map is definitely saved.
Just in case here is a mapping function:

// Mapping for the 16x48 Matrix
// with vertical zigzagging
function (pixelCount)
{
  width  =  48  // Info, this value is not used
  height =  16

  var map = []

  for (i = 0; i < pixelCount; i++)
  {
    x = Math.floor(i / height) 
    y = (i % height)

    // y adjustment for vertical zigzag wiring
    y = (x % 2) == 1 ? (height - 1 - y) : y
    map.push([x, y])
  }

  return map
}

And here is a mapping preview pan screenshot:
image

UPDATE
Just by reconfiguring expander over and over got things working but after recycling power one more time only first channel is active. All configurations (mapping and expander) looks good.

UPDATE 2

I changed the mapper from Contain to Fill and now everything works as expected.