Hello
And where is your procedure which writes highscores to a HD?
Also this is very very bad :

Code:
          
 if Menu_Choice=3  THEN
repeat
   high_scores;
   readln(Menu_Choice);
until Menu_Choice=0;
Because your program is accessing disk all the time. You should firstly read all the data to some structure and than show your highscores.

So instead code of above do it like this:

Code:
 if Menu_Choice=3  THEN
BEGIN
   high_scores; //but this has to be rewritten DarknessX already showed you how to do this
   repeat
     readln(Menu_Choice);
   until Menu_Choice=0; 
END;


Good luck :-)