I have an idea about what's going on here. My assumption is not tested but it should be easy to confirm.
MachineList.add is overridden in order to populate the instance with calculated machine data, e.g.

var result = MachineList.superclass.add.apply(this, arguments);
this._setDefaultsAndCalculatedValues(result);

These calculated values include parentId, which is used to filter the machines by parents.
The problem is that the add event is fired by the superclass.add, so before the calculated values are set. For this reason, parentId is not null at the time the machine view code is executed, it's just undefined.

A solution could be:
- call superclass.add with silent=true to avoid the event to be fired too early;
- manually fire the add event at the end of the method, when the instance is fully populated.

Hopefully I can work on this before you start today.