フォームにツールバーを置いてボタンをひとつ新規作成します。
そのボタンのスタイルはtbsCheckにしました。
ToolButton1.Downというプロパティで押されているかどうか
わかるはずなのですが
↓のソースのようにフォームにフォーカスが無くなったとき
このボタンを使用不可にしてフォーカスを得たら使用可能に
しているのですが
フォーカスが無くなり使用不可の状態でツールバーのボタンを
押して、フォーカスを外し、その状態でいきなりそのツールバーの
ボタンを押してButton1をクリックするとtrueが帰ってきてしまいます。
見た目は押されてない状態なのでFALSEが帰ってきてほしいのですが
どのあたりに問題があるのでしょうか?

procedure TForm1.ApplicationEvents1Deactivate(Sender: TObject);
begin
ToolButton1.Enabled := false;
end;

procedure TForm1.ApplicationEvents1Activate(Sender: TObject);
begin
ToolButton1.Enabled := true;

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if ToolButton1.down then
showmessage('true')
else
showmessage('false');
end;