Autohotkeyで以下のようなスクリプトを使っています。

; Google IMEの変換中だとCtrl+kでカタカナに
#If WinExist("ahk_class MSCTFIME Composition")
  >^k::F7
; xyzzy 以外ではEmacs風のキーバインド
#If not WinActive("ahk_exe xyzzy.exe")
  >^a::Home
  >^e::End
  >^f::Right
  >^b::Left
  >^p::Up
  >^n::Down
  >^h::BackSpace
  >^d::Del
  >^y::^v
  >^k::Send "+{END}^x"
  >^l::Send "+{HOME}^x"
#If

これでGoogle IMEの入力ウィンドウがあるとき(=変換中)の時はF7が発火され、
それ以外の時は+{END}^xが呼び出されると思ったのですが、変換中であってもF7が呼び出されませんでした。

>^k::Send "+{END}^x"をコメントアウトすれば、正常にF7が呼び出されるのですが上のコードは何が間違っているのでしょうか?

ヘルプのVariant Hotkeys の項目には

If more than one variant is eligible to fire, only the one closest to the top of the script will fire.
https://lexikos.github.io/v2/docs/commands/_If.htm#variant

とありますので順序は間違ってないと思うのですが。