Нужно detectChanges вызвать. markForCheck только помечает всех предков вверх по дереву как требующие проверки, но в следующем цикле проверки изменений. Клик где-то вверху триггерит change detection и он доходит до компонента где markForCheck был вызван.