а вы проверяли код? я вон для теста, по вашей аналогии сделал. Даже если пока не трогать поток, то получается, что он реагирует не на ЗАЖАТИЕ,а на НАЖАТИЕ, в этом наверное и проблема
Код:
procedure TForm1.TCtrlTimer(Sender: TObject);
var
ctrlstate:Boolean;
begin
TCtrl.Enabled := False;
ctrlstate:=Odd(GetKeyState(VK_CONTROL));
// TMThr.ICTR :=ctrlstate;
// Тут проходим по всем потокам (я не знаю как ты хранишь на них ссылки) и устанавливаем свойство
// Пусть ссылки на потоки хранятся в массиве MyThreads : Array Of TMyThread
if not ctrlstate then
status.Panels[0].Text:='CTRL!'
else status.Panels[0].Text:='';
TCtrl.Enabled := True;
end;