It surely is a nice start for learning sight reading, and I believe it can be great fun training such things at the computer, but I think there are two major things missing in your program. You don't train the link "See the note" - "hit the right key on a piano-keyboard", and, which is even more important, you don't train the link "see the note" - "imagine what it sounds like". What you do, you train the link "see the note" - "think of it's name", and in musical terms, this does not seem very valuable to me. Working at the piano, playing notes one wants to train (without looking at the keys), analyzing chords, writing notes, writing melodies one knows by heart, with or without the help of the piano, thinking of how a written note sounds like and verifying if it's right, this should help more...
I hope you can understand which concept of sight-reading is behind that, because thinking about the idea of sight-reading would really help writing a program to train it... I'm eager to know what you think of it...