My first thought would be faulty RAM or a codec error, probably the last.
If you check the frames where it usually hangs and delete one layer at a time to see if it will render then - you might find the problem layer. You might be able to convert that layer into an uncompressed QuickTime to see if I helps.
Alternatively, render to image sequence with 'skip existing frames' enabled. After the render hangs, you can fire off the same render and it will continue where it stoppe last time. Sometimes this will do the trick. Before re-starting the render I usually manually delete the last rendered frame because it may be corrupted.
Barend
Raamw3rk - digital storytelling and visual effects