Just like with if..endif, the syntax of while..endwhile has changed as well:
while ($more_to_come); ... endwhile; ?>
while ($more_to_come): ... endwhile; ?>
If you use the old while..endwhile syntax in PHP 3.0, you will get a never-ending loop.