Actually, not achieving full reverse thrust until right at the last moment doesn't explain why the B747 ran off the runway. Take-off performance data assumes no reverse thrust. Only brakes and spoilers are used in their calculations. Any reverse thrust is a bonus.
Also the fact that the runway was wet should have been accounted. So too if the runway was contaminated with standing water up to 13 mm.