I think the problem is with three last lines:
Code:
if &#40;player.Deaded&#41; and &#40;Player_No <= 2&#41; then 
  NewPlayer; 
  GameEnd;
the GameEnd is always called. And since it disables timer the game freezes. Try this

Code:
if &#40;player.Deaded&#41; then begin 
 if &#40;Player_No <= 2&#41; then 
  NewPlayer 
 else
  GameEnd;
end;