Pues ha simple vista todo parece estar bien muy bien, esto pasa en ciertos casos o es en general?
Algo que podrias hacer es "meter" o introducir echo's dentro de tu código para ver en que parte se esta quedando. O bien usar
excepciones (en caso de que estes usando php5)
Saludillos