Помогает ли отключение ограничений внешнего ключа перед удалением таблицы?
set foreign_key_checks=0;
drop table <table>;
set foreign_key_checks=1;
Существует сообщение об ошибке, в котором подробно описано что-то похожее, но мне не ясно, если это та же проблема:
http://bugs.mysql.com/bug.php?id=5784
Если нет, вы можете попробовать mysqlcheck :
mysqlcheck -u root -p <dbname> --auto-repair --check --optimize --databases
Вам нужно будет проверить документы, чтобы найти наиболее подходящие варианты для вашей базы данных. Обязательно обратите внимание на комментарии в первом абзаце документов о блокировках, которые помещаются в таблицы во время выполнения этой команды.