La variable "i" no tiene asignada un valor, quizás sea una variable global, pero no puedo adivinarlo si tiene un valor correcto (aunque dices que si).
Desconozco que es "Resp", pero antes del StrScan haces un Resp.Clear, ¿no borra eso el contenido de Resp.Text?
Sugerencia: La condición de strScan se podía haber abreviado como:
Código Delphi
[-]
if strScan('ABCDEFGHV',key) <> nil
Saludos