Вы попали в тупик. Переменная lock_wait_timeout показывает, как долго запрос будет ожидать блокировки до истечения времени ожидания - не то же самое.
Из руководства:
Тайм-аут в секундах, в течение которого транзакция InnoDB может ожидать блокировки строки, прежде чем отказаться. Значение по умолчанию составляет 50 секунд. Транзакция, которая пытается получить доступ к строке, заблокированной другой транзакцией InnoDB, будет зависать не более этого количества секунд, прежде чем выдать следующую ошибку:
Вы бы увидели это, если бы сбили тайм-аут. У вас правильный тупик, который нужно исправить.
ОШИБКА 1205 (HY000): превышено время ожидания блокировки; попробуйте перезапустить транзакцию