Вы можете написать его как службу, если хотите, с собственным насосом сообщений, перехватывающим все сообщения Windows, проверяющими те, которые связаны с нажатиями клавиш, и не передающими их обработчику сообщений по умолчанию.
Мой Delphi очень ржавый (версия 4), поэтому я не могу сказать, как это сделать.
Простая альтернатива написанию службы, в C # - установить форму заявки с непрозрачностью 0%, KeyPreview = True и ShowInTaskbar = False.
Может быть, ваша версия Delphi имеет нечто подобное.