En el código que pones sigues usando $_POST en tu INSERT eso no te va a funcionar, tienes que usar las variables locales que definiste en el for().
Respecto a tu otra pregunta sí, así es como normalmente se hace, haces el INSERT principal, recuperas el ID usando mysql_insert_id() y después insertas lo relacionado.
Saludos.