Нет, метод modified вызывается и для unbound controls при нажатии, к примеру, Ctrl + S или кнопки сохранить на панели инструментов.
Порядок исполнения методов для контрола такой:
leave (control) -> validate (control) -> modified (control) -> т.д.
Но эта информация для связанных с источником элементов формы. Для несвязанных не нашел ничего.
Не без помощи
AndyD 
есть решение:
validate() не трогаем. Перекрываем modified():
X++:
[SIZE=2][LEFT]public boolean modified()
{
boolean ret = true;
str s;
;
s = winapi::getWindowText(this.hWnd());
if (itemIdFirst.valueStr() && s)
{
if (itemIdFirst.valueStr() !=s)
ret = checkFailed(strFmt("ItemId_1 (%1) != ItemId_2 (%2)", itemIdFirst.valueStr(), s));
}
if (ret)
ret = super();
return ret;[/LEFT]
}
[/SIZE]
Но, конечно, это обход проблемы, а не решение. Но мне подошло