The high score saving doesn't work -- the sticky and the saved/restored variables have different names. Something like this would fix it:
Sub Loadhs
x = LoadValue(TableName, "HighScore1")
If(x <> "")Then HSScore(1) = CDbl(x) End If
x = LoadValue(TableName, "HighScore2")
If(x <> "")Then HSScore(2) = CDbl(x) End If
x = LoadValue(TableName, "HighScore3")
If(x <> "")Then HSScore(3) = CDbl(x) End If
x = LoadValue(TableName, "HighScore4")
If(x <> "")Then HSScore(4) = CDbl(x) End If
x = LoadValue(TableName, "HighScore5")
If(x <> "")Then HSScore(5) = CDbl(x) End If
x = LoadValue(TableName, "HighScore1Name")
If(x <> "")Then HSName(1) = x End If
x = LoadValue(TableName, "HighScore2Name")
If(x <> "")Then HSName(2) = x End If
x = LoadValue(TableName, "HighScore3Name")
If(x <> "")Then HSName(3) = x End If
x = LoadValue(TableName, "HighScore4Name")
If(x <> "")Then HSName(4) = x End If
x = LoadValue(TableName, "HighScore5Name")
If(x <> "")Then HSName(5) = x End If
x = LoadValue(TableName, "Credits")
If(x <> "")then Credits = CInt(x)Else Credits = 0 End If
End Sub
Sub Savehs
SaveValue TableName, "HighScore1", HSScore(1)
SaveValue TableName, "HighScore2", HSScore(2)
SaveValue TableName, "HighScore3", HSScore(3)
SaveValue TableName, "HighScore4", HSScore(4)
SaveValue TableName, "HighScore5", HSScore(5)
SaveValue TableName, "HighScore1Name", HSName(1)
SaveValue TableName, "HighScore2Name", HSName(2)
SaveValue TableName, "HighScore3Name", HSName(3)
SaveValue TableName, "HighScore4Name", HSName(4)
SaveValue TableName, "HighScore5Name", HSName(5)
SaveValue TableName, "Credits", Credits
End Sub