Les dejo un ejemplo más o menos funcional. No es muy elegante elegante, pero no usa un timer
Traté de comentar lo mejor posible el código porque el escribir la explicación se me estaba haciendo más complicado de lo que realmente es. Básicamente se toma el tiempo actual cada vez que se oprime una tecla y:
si es la misma tecla que la anterior y no se ha excedido un tiempo predeterminado, se escribe el siguiente caracter asociado a la tecla en el mismo lugar que el anterior. Si es otra tecla o ya se había excedido el tempo, entonces se escribe el primer caracter asociado a la tecla en la siguiente posición.
El ejecutable que viene en el zip sólo sirve si tienen instalado Delphi 7, si no, tiene que recompilar.
// Saludos