Also bei mir funktioniert OnKeyPress problemlos, genau wie OnKeyDown und OnKeyUp, sowohl mit Delphi 7 als auch XE7...
// EDIT:
Hier ein Screenshot, falls es jemand nicht glauben möchte:
// EDIT2:
Ach, ich weiß warum es nicht geht vermute ich...
Ich rate einmal, dass du Key in der Ereignisbehandlung im Formular auch auf das Nullzeichen setzt, oder? Wenn du das tust, kommt der Tastendruck logischerweise auch nicht mehr im Editfeld an, du brichst ihn ja ab...