Come diceva Oregon, il problema è in numObj.
Il puntatore lo salvi nella posizione numObj (puntObj[numObj] = malloc(...)) ma poi puntRect lo vai a prendere dalla posizione numObj +1 (dove presumo che ancora non effettui la malloc)
In pratica dovresti incrementare numObj alla fine