Как минимум, нужно строку заголовка формировать заново, иначе у Вас он будет постоянно увеличиваться после нескольких нажатий на клавишу, т.е. в case достаточно "caption := Key + ...".
Второе, заголовок в задании начинается с "Код виртуальной клавиши", и третье, лучше завести локальную переменную string, сформировать ее, а затем присвоить caption, сейчас заголовок формы 2 раза меняется за одну процедуру
Я кинул сюда скрин программы, мне сказали, что Я не так сделал ее и тд, поэтому спросил еще раз, вдруг Я реально ошибся где то