Para que no termine la ejecución del script cuando el cliente termina la conexión, debes usar ignore_user_abort:
http://www.php.net/manual/es/functio...user-abort.php
También, debes revisar la directiva max_execution_time:
http://www.php.net/manual/es/info.co...execution-time
Y, por último, para que el cliente vuelva y pueda ver el resultado debes poder identificarlo (por ejemplo, con una variable de sesión o una cookie)