Se è una questione di timeout (ma in quel caso dovrebbe venirti fuori l'errore specifico)
puoi scrivere all'inizio dello script:

set_time_limit(0);

che disattiva il limite di timeout

---
Cmq io non credo sia un timeout limit,
è quasi sicuramente un problema di upload limit,
però non del server (come dici tu accetta 50Mb) ma del DATABASE

Se usi MySQL fai uno

msql> show variables like '%max_allowed_packet%';

in locale e in remoto e vedi la differenza...
probbilmente il locale è >3MB e in remoto è <3MB

se è così devi aprire il "my.ini" in remoto
e settare:

max_allowed_packet=999999488