well your main issue is seymour has multiple drawgroups, and when your drawgroup attribute is set to 0, the matrixoutput sends out each one individually but very rapidly. and each drawgroup has multiple dimensions, so the input matrix to the gen object is constantly changing. Hook this to the output of one of the models and watch your max console:
So try changing the first model to drawgroup 1 and the second model to drawgroup 4. It's going to look strange because their dimensions are different. drawgroup 1, the one setting the dimensions of the gen object, has smaller dimensions than drawgroup 4, so when trying to build/xfade into 4, there's not enough information to build it correctly. However when the first model's drawgroup dimensions are bigger, the second model doesn't seem to draw, not sure what's going on here, but crossfading between two different models (or drawgroups) will produce weird results.
I should mention this is all with gl.mesh using the drawmode: "triangles". It doesn't draw polygons well, and the models you are using should be triangulated anyways. When using gl.mesh with gl.model, i rarely ever change it from triangles. Other drawmodes will just give weird looking models. However, they might be weird, but they will xfade even with different input dimensions.