Hmm. Well, the second one is pretty much irrelevant (In my experience, I have only seen it after clicking through the first assert).
Looking at the code that calls it:
case ID_SOBJ: { //Subobject header
int n;
char *p, props[MAX_PROP_LEN];
// float d;
//mprintf(0,"Got chunk SOBJ, len=%d\n",len);
n = cfread_int(fp);
//mprintf(("SOBJ IDed itself as %d", n));
Assert(n < pm->n_models );
It seems to get called when a subobject's ID is greater than the number of subobjects referenced in the POF header. Not sure how to fix it, or what the exact cause is, though.