¿En cuanto tiempo esta configurado php para ejecutar el script? Como supongo sabras php tiene un limite de 30 segundos para ejecutar los scripts. Es posible que al ser un proceso largo se cuelgue por ese motivo.
http://php.net/manual/es/function.set-time-limit.php
Asi a bote pronto es lo que se me ocurre. No manejo muy bien ajax en jquery (estoy mas acostumbrado al ajax con javascript) pero parece que estuviera bien configurado.