That's because in your ReadHS() function, you loop through the FileMemoryList, storing the object in i, but then printing the contents of filestore.
Also there is another bug in your ReadHS() and RemoveHS() routine. You read in the highscore list and add it to the end of the already filled list. You need to do a FileMemoryList.Clear() at the start of the functions to erase the contents.
For Local i:TFileMemory = EachIn FileMemoryList 'Print "High Score: "+filestore.initals+" "+filestore.points+" Points" change to Print "High Score: "+i.initals+" "+i.points+" Points" Next
Also there is another bug in your ReadHS() and RemoveHS() routine. You read in the highscore list and add it to the end of the already filled list. You need to do a FileMemoryList.Clear() at the start of the functions to erase the contents.