Hola,
Esto no parece tener problemas con el portapapeles:
Código Delphi
[-]
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in [#8, '0'..'9']) then begin
ShowMessage('Invalid key');
Key := #0;
end;
end;
Por cierto que
lo encontré aquí.
Actualización: Parece que sí hay algún problema con el portapapeles: No vale "pegar" letras, ¡pero tampoco números!