А оба действия и происходят по одному клику. Проблема в условии if B=="Магическая концентрация" - похоже, что на момент проверки клиент не успевает получить информацию о наличии только что бафнутой МК. Условие не выполняется - сообщение с чистой совестью никуда не уходит. А при слудующем нажатии МК уже висит на цели, клиент это понял, и условие выполняется. Это можно увидеть, если вписать в B=="..." любой другой баф, который уже заведомо есть на цели - тогда и первый каст МК, и сообщение пройдут одновременно.
Но я бы предложил отталкиваться от самого факта успешно совершенного каста:
Код:
/cast [@focus] Магическая концентрация
/script local start=GetSpellCooldown(54646); if start~=0 then local name = UnitName("focus"); SendChatMessage("МК на тебе", "WHISPER", nil, name) end